diff options
| author | Felix Morgner <felix.morgner@ost.ch> | 2026-07-24 10:35:34 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@ost.ch> | 2026-07-24 10:35:34 +0200 |
| commit | eeffe2ad97710ec7265de5ab020989c5731059c9 (patch) | |
| tree | fa173631ea4fbcc017b92c29edd9b349577f54ce /kernel/kapi/devices/device.cpp | |
| parent | ef124ea26ebe98f16e0e8fb204ec1f419bf656ee (diff) | |
| download | kernel-eeffe2ad97710ec7265de5ab020989c5731059c9.tar.xz kernel-eeffe2ad97710ec7265de5ab020989c5731059c9.zip | |
kapi: generalize device interface resolution
Diffstat (limited to 'kernel/kapi/devices/device.cpp')
| -rw-r--r-- | kernel/kapi/devices/device.cpp | 15 |
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; |
