summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-02 14:02:49 +0200
committerAmlal EL Mahrouss <amlalelmahrouss@icloud.com>2024-08-02 14:02:49 +0200
commit9afcd1c001703c32964fed5906f36a2d913e91e9 (patch)
treef1b285fee767d6fdbed136e5b4cde8b152a6378a
parent04572e7a4299ed9dc412db7c5baeec9eabe464a3 (diff)
SCM: Improvements.
Signed-off-by: Amlal EL Mahrouss <amlalelmahrouss@icloud.com>
-rw-r--r--SCIKit/SCIBinaryInterface.cxx (renamed from SCIKit/SCIObjRt.cxx)3
-rw-r--r--SCIKit/rtl.internal.inl27
2 files changed, 19 insertions, 11 deletions
diff --git a/SCIKit/SCIObjRt.cxx b/SCIKit/SCIBinaryInterface.cxx
index c8c7300e..02766870 100644
--- a/SCIKit/SCIObjRt.cxx
+++ b/SCIKit/SCIBinaryInterface.cxx
@@ -4,5 +4,4 @@
------------------------------------------- */
-#include <SCIKit/SCIBase.hxx>
-//#include <SCIKit/SCIObjRt.hxx> \ No newline at end of file
+#include <SCIKit/SCIBase.hxx> \ 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 <typename TCLS, typename UCLSID, typename... Args>
-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 <typename TCLS>
-inline SInt32 RtlReleaseClass(TCLS* cls)
+inline SInt32 ScmReleaseClass(TCLS* cls)
{
if (!cls)
return -1;