From 463e7472e737fb8259a30304e729772041ea5498 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Fri, 21 Nov 2025 09:09:33 +0100 Subject: feat: kernel: NeKit improvements and new TOML file. feat: frameworks: CoreFoundation improvements and new KTest framework. Signed-off-by: Amlal El Mahrouss --- dev/kernel/NeKit/Variant.h | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'dev/kernel/NeKit/Variant.h') diff --git a/dev/kernel/NeKit/Variant.h b/dev/kernel/NeKit/Variant.h index 42a47bc0..7bcd0dff 100644 --- a/dev/kernel/NeKit/Variant.h +++ b/dev/kernel/NeKit/Variant.h @@ -8,6 +8,7 @@ #include #include +#include #include #include @@ -15,13 +16,13 @@ namespace Kernel { class Variant final { public: enum class VariantKind { - kString, + kInvalid = 0, + kString = 200, kBlob, kNull, kJson, - kXML, + kTOML, kSwap, - kInvalid, }; public: @@ -37,7 +38,9 @@ class Variant final { explicit Variant(KBasicString* stringView) : fPtr((VoidPtr) stringView), fKind(VariantKind::kString) {} - explicit Variant(JsonObject* json) : fPtr((VoidPtr) json), fKind(VariantKind::kJson) {} + explicit Variant(JsonObject<>* json) : fPtr((VoidPtr) json), fKind(VariantKind::kJson) {} + + explicit Variant(TOMLObject* toml) : fPtr((VoidPtr) toml), fKind(VariantKind::kTOML) {} explicit Variant(nullPtr ptr) : fPtr(ptr), fKind(VariantKind::kNull) {} @@ -47,10 +50,15 @@ class Variant final { public: const Char* ToString(); + + /// ======================================================================== + /// @brief Returns the underlying pointer. + /// @return the underlying pointer. + /// ======================================================================== VoidPtr Leak(); template - T* As() { + T* As() noexcept { return reinterpret_cast(fPtr); } -- cgit v1.2.3