summaryrefslogtreecommitdiffhomepage
path: root/src/libDDK/DriverKit/ObjectKit/driver_base.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal@nekernel.org>2026-03-01 05:48:35 +0100
committerAmlal El Mahrouss <amlal@nekernel.org>2026-03-01 05:48:35 +0100
commit38cddd5dc02f886e5cb3a0e386f0f7a1e6c8da86 (patch)
tree69b8bfc0a3fc403abf165d501e18b57e63a2405e /src/libDDK/DriverKit/ObjectKit/driver_base.h
parent0871e5925e99e9a6f2d1eaf51ae82c7b4f740560 (diff)
feat: ddk!: Breaking changes, the DDK has been reworked in C++ instead.
chore: public, kernel: fixes and important patches. Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'src/libDDK/DriverKit/ObjectKit/driver_base.h')
-rw-r--r--src/libDDK/DriverKit/ObjectKit/driver_base.h48
1 files changed, 0 insertions, 48 deletions
diff --git a/src/libDDK/DriverKit/ObjectKit/driver_base.h b/src/libDDK/DriverKit/ObjectKit/driver_base.h
deleted file mode 100644
index f5811fb2..00000000
--- a/src/libDDK/DriverKit/ObjectKit/driver_base.h
+++ /dev/null
@@ -1,48 +0,0 @@
-// Copyright 2024-2026, Amlal El Mahrouss (amlal@nekernel.org)
-// Licensed under the Apache License, Version 2.0 (see LICENSE file)
-// Official repository: https://github.com/nekernel-org/nekernel
-
-#ifndef DRIVERKIT_OBJECTKIT_DRIVER_BASE_H
-#define DRIVERKIT_OBJECTKIT_DRIVER_BASE_H
-
-#include <libDDK/DriverKit/macros.h>
-
-#define DDK_DRIVER_IMPL \
- final: \
- 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:
- IDriverBase() = default;
- virtual ~IDriverBase() = default;
-
- IDriverBase& operator=(const IDriverBase&) = default;
- IDriverBase(const IDriverBase&) = default;
-
- using PtrType = void*;
-
- virtual constexpr bool IsCastable() { return false; }
- virtual constexpr bool IsActive() { return false; }
- virtual PtrType Leak() { return nullptr; }
- virtual constexpr int32_t Type() { return kInvalidType; }
-};
-
-/// @brief This concept requires the Driver to be IDriverBase compliant.
-/// @author @amlel-el-mahrouss
-template <typename Driver>
-concept IsValidDriver = requires(Driver drv) {
- { drv.IsActive() && drv.Type() > kInvalidType };
-};
-
-} // namespace Kernel::DDK
-
-#endif