/* ------------------------------------------- Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved. ------------------------------------------- */ #ifndef CFKIT_PROPS_H #define CFKIT_PROPS_H #include #include #include #include #include #define kMaxPropLen (256U) namespace CFKit { using namespace NeOS; /// @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(KString& name); PropertyId& GetValue(); KString& GetKey(); private: KString fName{kMaxPropLen}; PropertyId fValue{0UL}; Ref fGUID{}; }; template using PropertyArray = Array; } // namespace CFKit namespace NeOS { using namespace CFKit; } #endif // !CFKIT_PROPS_H