/* ------------------------------------------- Copyright Zeta Electronics Corporation ------------------------------------------- */ #ifndef __INC_PLIST_HPP__ #define __INC_PLIST_HPP__ #include #include #include #include namespace NewOS { /// @brief handle to anything (number, ptr, string...) using PropertyId = UIntPtr; /// @brief Kernel property class. /// @example \Properties\SmpCores or \Properties\KernelVersion class Property { public: explicit Property(const StringView& sw); virtual ~Property(); public: Property& operator=(const Property&) = default; Property(const Property&) = default; bool StringEquals(StringView& name); const PropertyId& GetPropertyById(); private: Ref fName; PropertyId fAction; }; template using PropertyArray = Array; } // namespace NewOS #endif // !__INC_PLIST_HPP__