From 9afcd1c001703c32964fed5906f36a2d913e91e9 Mon Sep 17 00:00:00 2001 From: Amlal EL Mahrouss Date: Fri, 2 Aug 2024 14:02:49 +0200 Subject: SCM: Improvements. Signed-off-by: Amlal EL Mahrouss --- SCIKit/SCIBinaryInterface.cxx | 7 +++++++ SCIKit/SCIObjRt.cxx | 8 -------- SCIKit/rtl.internal.inl | 27 ++++++++++++++++++--------- 3 files changed, 25 insertions(+), 17 deletions(-) create mode 100644 SCIKit/SCIBinaryInterface.cxx delete mode 100644 SCIKit/SCIObjRt.cxx diff --git a/SCIKit/SCIBinaryInterface.cxx b/SCIKit/SCIBinaryInterface.cxx new file mode 100644 index 00000000..02766870 --- /dev/null +++ b/SCIKit/SCIBinaryInterface.cxx @@ -0,0 +1,7 @@ +/* ------------------------------------------- + + Copyright ZKA Technologies + +------------------------------------------- */ + +#include \ No newline at end of file diff --git a/SCIKit/SCIObjRt.cxx b/SCIKit/SCIObjRt.cxx deleted file mode 100644 index c8c7300e..00000000 --- a/SCIKit/SCIObjRt.cxx +++ /dev/null @@ -1,8 +0,0 @@ -/* ------------------------------------------- - - Copyright ZKA Technologies - -------------------------------------------- */ - -#include -//#include \ No newline at end of file diff --git a/SCIKit/rtl.internal.inl b/SCIKit/rtl.internal.inl index f22bc834..b4e8e7dd 100644 --- a/SCIKit/rtl.internal.inl +++ b/SCIKit/rtl.internal.inl @@ -2,20 +2,29 @@ Copyright ZKA Technologies. -File: rt.internal.inl. -Purpose: Internal file for SCM. +File: rt.internal.inl +Purpose: Base code of SCM. ------------------------------------------- */ +/// @internal + +#ifndef __ZECC__ +#define object class +#define protocol class +#define clsid(X) __attribute__((uuid(X))) + +#warning ! you may be using the clang version of the newos kit, please be cautious that some thing mayn't be present. ! +#endif // !__ZECC__ // Interfaces are divided between classes. // So that they aren't too big. -class UnknownInterface; // Refrenced from an IDB entry. +protocol UnknownInterface; // Refrenced from an IDB entry. class UnknownUCLSID; // From the IDB, the constructor of the object, e.g: TextUCLSID. -class UUID; +object UUID; -class __attribute__((uuid("d7c144b6-0792-44b8-b06b-02b227b547df"))) UnknownInterface +protocol clsid("d7c144b6-0792-44b8-b06b-02b227b547df") UnknownInterface { public: explicit UnknownInterface() = default; @@ -30,23 +39,23 @@ public: virtual VoidPtr QueryInterface(UUID* p_uuid) = 0; }; -/// @brief Allocate new SCM class. +/// @brief Allocate new SCM object. /// @tparam TCLS /// @tparam UCLSID /// @param uclsidOfCls /// @return template -inline TCLS* RtlQueryInterface(UCLSID* uclsidOfCls, Args&&... args) +inline TCLS* ScmQueryInterface(UCLSID* uclsidOfCls, Args&&... args) { return uclsidOfCls->QueryInterfaceWithArgs(args...); } -/// @brief Release SCM class. +/// @brief Release SCM object. /// @tparam TCLS /// @param cls /// @return template -inline SInt32 RtlReleaseClass(TCLS* cls) +inline SInt32 ScmReleaseClass(TCLS* cls) { if (!cls) return -1; -- cgit v1.2.3