From 83d870e58457a1d335a1d9b9966a6a1887cc297b Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Mon, 24 Nov 2025 03:02:43 +0100 Subject: feat! breaking changes on kernel sources. Signed-off-by: Amlal El Mahrouss --- src/kernel/CFKit/Property.h | 51 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 src/kernel/CFKit/Property.h (limited to 'src/kernel/CFKit/Property.h') diff --git a/src/kernel/CFKit/Property.h b/src/kernel/CFKit/Property.h new file mode 100644 index 00000000..cfb8a599 --- /dev/null +++ b/src/kernel/CFKit/Property.h @@ -0,0 +1,51 @@ +/* ======================================== + + Copyright (C) 2024-2025, Amlal El Mahrouss, licensed under the Apache 2.0 license. + +======================================== */ + +#ifndef CFKIT_PROPS_H +#define CFKIT_PROPS_H + +#include +#include +#include +#include +#include + +#define kMaxPropLen (256U) + +namespace Kernel::CF { +/// @brief handle to anything (number, ptr, string...) +using PropertyId = UIntPtr; + +/// @brief Kernel property class. +/// @example /prop/smp_max or /prop/kern_ver +class Property { + public: + Property(); + virtual ~Property(); + + public: + Property& operator=(const Property&) = default; + Property(const Property&) = default; + + BOOL StringEquals(KBasicString<>& name); + PropertyId& GetValue(); + KBasicString<>& GetKey(); + + private: + KString fName{kMaxPropLen}; + PropertyId fValue{0UL}; + Ref fGUID{}; +}; + +template +using PropertyArray = Array; +} // namespace Kernel::CF + +namespace Kernel { +using namespace Kernel::CF; +} + +#endif // !CFKIT_PROPS_H -- cgit v1.2.3