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.cpp15
1 files changed, 15 insertions, 0 deletions
diff --git a/kernel/kapi/devices/device.cpp b/kernel/kapi/devices/device.cpp
index 4c63f6a4..3eb9aaac 100644
--- a/kernel/kapi/devices/device.cpp
+++ b/kernel/kapi/devices/device.cpp
@@ -12,6 +12,21 @@ namespace kapi::devices
: m_name(name)
{}
+ auto device::as(interface interface) noexcept -> void *
+ {
+ return query_interface(interface);
+ }
+
+ auto device::as(interface interface) const noexcept -> void const *
+ {
+ return const_cast<device *>(this)->query_interface(interface);
+ }
+
+ auto device::is_a(interface interface) const noexcept -> bool
+ {
+ return const_cast<device *>(this)->query_interface(interface) != nullptr;
+ }
+
auto device::name() const -> kstd::string const &
{
return m_name;