aboutsummaryrefslogtreecommitdiff
path: root/kernel/kapi/devices/device.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/kapi/devices/device.cpp')
-rw-r--r--kernel/kapi/devices/device.cpp29
1 files changed, 27 insertions, 2 deletions
diff --git a/kernel/kapi/devices/device.cpp b/kernel/kapi/devices/device.cpp
index 540d37b7..cbbd5405 100644
--- a/kernel/kapi/devices/device.cpp
+++ b/kernel/kapi/devices/device.cpp
@@ -22,9 +22,29 @@ namespace kapi::devices
return m_parent.lock();
}
- auto device::set_parent(kstd::weak_ptr<bus> parent) -> void
+ auto device::state() const noexcept -> enum state
{
- m_parent = parent;
+ return m_state;
+ }
+
+ auto device::set_state(enum state state) -> void
+ {
+ m_state = state;
+ }
+
+ auto device::bind_driver(kstd::weak_ptr<struct driver> driver) -> void
+ {
+ m_driver = driver;
+ }
+
+ auto device::driver_data() const -> kstd::shared_ptr<void> const &
+ {
+ return m_driver_data;
+ }
+
+ auto device::set_driver_data(kstd::shared_ptr<void> data) -> void
+ {
+ m_driver_data = data;
}
auto device::query_interface(interface) -> void *
@@ -32,4 +52,9 @@ namespace kapi::devices
return nullptr;
}
+ auto device::set_parent(kstd::weak_ptr<bus> parent) -> void
+ {
+ m_parent = parent;
+ }
+
} // namespace kapi::devices \ No newline at end of file