From 1a22cb4fd330bf01f1c94bd12fcad9ab278b4f80 Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Thu, 29 Feb 2024 14:53:07 +0100 Subject: CRT: Remove SOM. Signed-off-by: Amlal El Mahrouss --- Private/CRT/__som.hxx | 32 --------------------- Private/CRT/makefile | 3 -- Private/CRT/som_example.cxx | 18 ------------ Private/CRT/som_internal.cxx | 68 -------------------------------------------- 4 files changed, 121 deletions(-) delete mode 100644 Private/CRT/__som.hxx delete mode 100644 Private/CRT/makefile delete mode 100644 Private/CRT/som_example.cxx delete mode 100644 Private/CRT/som_internal.cxx diff --git a/Private/CRT/__som.hxx b/Private/CRT/__som.hxx deleted file mode 100644 index ef9354f7..00000000 --- a/Private/CRT/__som.hxx +++ /dev/null @@ -1,32 +0,0 @@ -/* - * ======================================================== - * - * HCore - * Copyright Mahrouss Logic, all rights reserved. - * - * ======================================================== - */ - -#ifndef __SOM__ -#define __SOM__ - -typedef unsigned long long int _HandleCls; - -/// @brief Looks like an objc class, because it takes inspiration from it. -typedef struct _Handle { - _HandleCls _Cls; - int (*Release)(_Handle *); - _Handle* (*Sel)(_Handle*, ...); -} *Handle; - -extern "C" Handle __som_send(int sel, int len, ...); - -enum { - kSomCreate, - kSomQuery, - kSomCount, -}; - -#define kHUnknown 11 - -#endif /* ifndef __SOM__ */ \ No newline at end of file diff --git a/Private/CRT/makefile b/Private/CRT/makefile deleted file mode 100644 index ab55bebf..00000000 --- a/Private/CRT/makefile +++ /dev/null @@ -1,3 +0,0 @@ -.PHONY: compound-framework -compound-framework: - g++ som_example.cxx som_internal.cxx -o som_example.exe \ No newline at end of file diff --git a/Private/CRT/som_example.cxx b/Private/CRT/som_example.cxx deleted file mode 100644 index 409c6c2c..00000000 --- a/Private/CRT/som_example.cxx +++ /dev/null @@ -1,18 +0,0 @@ -/* - * ======================================================== - * - * HCore - * Copyright Mahrouss Logic, all rights reserved. - * - * ======================================================== - */ - -#include "__som.hxx" - -int main(int argc, char const *argv[]) -{ - Handle handle_type = (Handle)__som_send(kSomCreate, 1, kHUnknown); - handle_type->Release(handle_type); - - return 0; -} diff --git a/Private/CRT/som_internal.cxx b/Private/CRT/som_internal.cxx deleted file mode 100644 index 4877c318..00000000 --- a/Private/CRT/som_internal.cxx +++ /dev/null @@ -1,68 +0,0 @@ -/* - * ======================================================== - * - * HCore - * Copyright Mahrouss Logic, all rights reserved. - * - * ======================================================== - */ - -#include "__som.hxx" -#include -#include -#include - -static void __som_error(const char* msg) -{ - printf("%s\n", "*****************************************"); - printf("%s\n", msg); - printf("%s\n", "*****************************************"); - - exit(-33); -} - -static int __som_release(Handle handle) -{ - printf("%s\n", "*****************************************"); - printf("%s\n", "HUnknown, default behavior."); - printf("%s\n", "*****************************************"); - - free(handle); - return 0; -} - -extern "C" Handle __som_send(int sel, int len, ...) -{ - switch (sel) - { - case kSomCreate: - { - va_list list; - va_start(list, len); - - int id = va_arg(list, int); - - Handle handle = nullptr; - - switch (id) - { - case kHUnknown: - handle = (Handle)malloc(sizeof(struct _Handle)); - handle->Release = __som_release; - handle->_Cls = (_HandleCls)handle; - break; - - default: - __som_error("SOM: Invalid Selector!"); - break; - } - - va_end(list); - - return handle; - } - default: - __som_error("SOM: Invalid Selector!"); - return nullptr; - } -} \ No newline at end of file -- cgit v1.2.3