diff options
| author | Amlal El Mahrouss <amlal.elmahrouss@icloud.com> | 2025-12-20 22:33:55 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2025-12-21 02:48:58 +0100 |
| commit | 16e84e804a2c9629a590ee3ff2d35c6c71871532 (patch) | |
| tree | b96fb33147e8dfcc70d9419f121ca96d7ece225e /src/libDDK/DriverKit/c++ | |
| parent | 35b6093dad9035a36af3171982b914a89335d452 (diff) | |
ddk: C++ API fixes.v0.1.0
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/libDDK/DriverKit/c++')
| -rw-r--r-- | src/libDDK/DriverKit/c++/checksum.h | 4 | ||||
| -rw-r--r-- | src/libDDK/DriverKit/c++/ddk.h | 2 | ||||
| -rw-r--r-- | src/libDDK/DriverKit/c++/driver_base.h | 18 |
3 files changed, 11 insertions, 13 deletions
diff --git a/src/libDDK/DriverKit/c++/checksum.h b/src/libDDK/DriverKit/c++/checksum.h index 0aa206be..99199f56 100644 --- a/src/libDDK/DriverKit/c++/checksum.h +++ b/src/libDDK/DriverKit/c++/checksum.h @@ -7,4 +7,6 @@ ======================================== */ -#pragma once
\ No newline at end of file +#pragma once + +/// @todo Driver checksum
\ No newline at end of file diff --git a/src/libDDK/DriverKit/c++/ddk.h b/src/libDDK/DriverKit/c++/ddk.h index d8576a57..65ccb102 100644 --- a/src/libDDK/DriverKit/c++/ddk.h +++ b/src/libDDK/DriverKit/c++/ddk.h @@ -3,7 +3,7 @@ Copyright Amlal El Mahrouss 2025, licensed under the Apache 2.0 license. FILE: ddk.h - PURPOSE: Object DDK header. + PURPOSE: Object DDK SDK. ======================================== */ diff --git a/src/libDDK/DriverKit/c++/driver_base.h b/src/libDDK/DriverKit/c++/driver_base.h index 002cd768..44be997e 100644 --- a/src/libDDK/DriverKit/c++/driver_base.h +++ b/src/libDDK/DriverKit/c++/driver_base.h @@ -16,18 +16,20 @@ public \ ::Kernel::DDK::IDriverBase + /// @author Amlal El Mahrouss +/// @brief The DDK C++ API. namespace Kernel::DDK { inline constexpr auto kInvalidType = 0; +/// @brief Driver interface type. class IDriverBase { public: - explicit IDriverBase() = default; + IDriverBase() = default; virtual ~IDriverBase() = default; NE_COPY_DELETE(IDriverBase); - NE_MOVE_DEFAULT(IDriverBase); using PtrType = void*; @@ -38,15 +40,9 @@ class IDriverBase { }; /// @brief This concept requires the Driver to be IDriverBase compliant. +/// @author @amlel-el-mahrouss template <typename Driver> -concept IsValidDriver = requires(Driver driver_base) { - { driver_base.IsActive() && driver_base.Type() > kInvalidType }; +concept IsValidDriver = requires(Driver drv) { + { drv.IsActive() && drv.Type() > kInvalidType }; }; - -/// @brief Consteval helper to detect whether a template is truly based on IDriverBase. -/// @note This helper is consteval only. -template <class Driver> -inline bool ce_ddk_is_valid(Driver drv) { - return IsValidDriver<Driver>(drv); -} } // namespace Kernel::DDK |
