diff options
Diffstat (limited to 'dev/kernel/KernelKit/IDylibObject.h')
| -rw-r--r-- | dev/kernel/KernelKit/IDylibObject.h | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/dev/kernel/KernelKit/IDylibObject.h b/dev/kernel/KernelKit/IDylibObject.h index 7a7cd913..b673766c 100644 --- a/dev/kernel/KernelKit/IDylibObject.h +++ b/dev/kernel/KernelKit/IDylibObject.h @@ -10,31 +10,34 @@ #pragma once #include <CompilerKit/CompilerKit.h> -#include <NewKit/Defines.h> +#include <NeKit/Defines.h> #define NE_DYLIB_OBJECT : public IDylibObject namespace Kernel { +class IDylibObject; + /// @brief Dylib class object. A handle to a shared library. class IDylibObject { public: explicit IDylibObject() = default; virtual ~IDylibObject() = default; - struct DLL_TRAITS final { + struct DylibTraits final { VoidPtr ImageObject{nullptr}; VoidPtr ImageEntrypointOffset{nullptr}; - Bool IsValid() { return ImageObject && ImageEntrypointOffset; } + VoidPtr Image() const { return ImageObject; } + Bool IsValid() const { return ImageObject && ImageEntrypointOffset; } }; NE_COPY_DEFAULT(IDylibObject) - virtual DLL_TRAITS** GetAddressOf() = 0; - virtual DLL_TRAITS* Get() = 0; + virtual DylibTraits** GetAddressOf() = 0; + virtual DylibTraits* Get() = 0; - virtual Void Mount(DLL_TRAITS* to_mount) = 0; - virtual Void Unmount() = 0; + virtual Void Mount(DylibTraits* to_mount) = 0; + virtual Void Unmount() = 0; }; /// @brief Pure implementation, missing method/function handler. |
