summaryrefslogtreecommitdiffhomepage
path: root/Public
diff options
context:
space:
mode:
Diffstat (limited to 'Public')
-rw-r--r--Public/Documentation/.gitkeep (renamed from Public/Kits/System.Grahpics.GPU/.gitkeep)0
-rw-r--r--Public/Documentation/BUG_LIST.TXT (renamed from Public/BUG_LIST.TXT)0
-rw-r--r--Public/Documentation/SPECIFICATION.TXT (renamed from Public/SPECIFICATION.TXT)0
-rw-r--r--Public/Documentation/TODO_LIST.TXT (renamed from Public/TODO_LIST.TXT)0
-rw-r--r--Public/Documentation/compile_flags.txt (renamed from Public/compile_flags.txt)0
-rw-r--r--Public/Kits/System.Core/Headers/Containers/ODF.hxx (renamed from Public/Kits/System.Core/Containers/ODF.hxx)22
-rw-r--r--Public/Kits/System.Core/Headers/Containers/XIFF.hxx (renamed from Public/Kits/System.Core/Containers/XIFF.hxx)14
-rw-r--r--Public/Kits/System.Core/Headers/Defs.hxx (renamed from Public/Kits/System.Core/Defs.hxx)116
-rw-r--r--Public/Kits/System.Core/Headers/File.hxx (renamed from Public/Kits/System.Core/File.hxx)27
-rw-r--r--Public/Kits/System.Core/Headers/Heap.hxx63
-rw-r--r--Public/Kits/System.Core/Headers/Hint.hxx (renamed from Public/Kits/System.Core/Hint.hxx)0
-rw-r--r--Public/Kits/System.Core/Headers/Thread.hxx49
-rw-r--r--Public/Kits/System.Core/Heap.cxx45
-rw-r--r--Public/Kits/System.Core/Heap.hxx79
-rw-r--r--Public/Kits/System.Core/HeapRuntime.cxx44
-rw-r--r--Public/Kits/System.Core/Makefile2
-rw-r--r--Public/Kits/System.Core/RISCV/.gitkeep (renamed from Public/Kits/System.Graphics/.gitkeep)0
-rw-r--r--Public/Kits/System.Core/Sources/DllMain.cxx (renamed from Public/Kits/System.Core/InitRuntime.cxx)6
-rw-r--r--Public/Kits/System.Core/Sources/Heap.cxx83
-rw-r--r--Public/Kits/System.Core/Sources/New+Delete.cxx (renamed from Public/Kits/System.Core/New+Delete.cxx)17
-rw-r--r--Public/Kits/System.Core/System.Core.hxx14
-rw-r--r--Public/Kits/System.Core/System.hxx18
-rw-r--r--Public/Kits/System.Core/Threading.hxx34
-rw-r--r--Public/Kits/System.Graphics/Core.cxx14
-rw-r--r--Public/Kits/System.Graphics/Core.hxx185
-rw-r--r--Public/Kits/System.Graphics/Dim2d.cxx20
-rw-r--r--Public/Kits/System.Graphics/Dim2d.hxx38
-rw-r--r--Public/Kits/System.Graphics/Frame.cxx18
-rw-r--r--Public/Kits/System.Graphics/Frame.hxx60
-rw-r--r--Public/Kits/System.Graphics/Makefile20
-rw-r--r--Public/Kits/System.Graphics/Stylesheet.hxx50
-rw-r--r--Public/Kits/System.Graphics/compile_flags.txt4
-rw-r--r--Public/Kits/System.Zip/Defines.hpp30
-rw-r--r--Public/Kits/System.Zip/Makefile22
-rw-r--r--Public/Kits/System.Zip/Shell.hpp17
-rw-r--r--Public/Kits/System.Zip/Zip.cxx43
-rw-r--r--Public/Kits/System.Zip/Zip.hpp37
-rw-r--r--Public/Kits/System.Zip/compile_flags.txt4
38 files changed, 333 insertions, 862 deletions
diff --git a/Public/Kits/System.Grahpics.GPU/.gitkeep b/Public/Documentation/.gitkeep
index e69de29b..e69de29b 100644
--- a/Public/Kits/System.Grahpics.GPU/.gitkeep
+++ b/Public/Documentation/.gitkeep
diff --git a/Public/BUG_LIST.TXT b/Public/Documentation/BUG_LIST.TXT
index 6075a6ac..6075a6ac 100644
--- a/Public/BUG_LIST.TXT
+++ b/Public/Documentation/BUG_LIST.TXT
diff --git a/Public/SPECIFICATION.TXT b/Public/Documentation/SPECIFICATION.TXT
index 11ee62e3..11ee62e3 100644
--- a/Public/SPECIFICATION.TXT
+++ b/Public/Documentation/SPECIFICATION.TXT
diff --git a/Public/TODO_LIST.TXT b/Public/Documentation/TODO_LIST.TXT
index 5e49eb04..5e49eb04 100644
--- a/Public/TODO_LIST.TXT
+++ b/Public/Documentation/TODO_LIST.TXT
diff --git a/Public/compile_flags.txt b/Public/Documentation/compile_flags.txt
index 21296223..21296223 100644
--- a/Public/compile_flags.txt
+++ b/Public/Documentation/compile_flags.txt
diff --git a/Public/Kits/System.Core/Containers/ODF.hxx b/Public/Kits/System.Core/Headers/Containers/ODF.hxx
index 3c4e81fc..53098c3f 100644
--- a/Public/Kits/System.Core/Containers/ODF.hxx
+++ b/Public/Kits/System.Core/Headers/Containers/ODF.hxx
@@ -5,7 +5,7 @@
#ifndef __ODF__
#define __ODF__
-#include <System.Core/Defs.hxx>
+#include <System.Core/Headers/Defs.hxx>
/**
* @brief Open Document Format
@@ -18,26 +18,26 @@
/// @brief Document file header.
typedef struct ODFFileHeader
{
- CHAR f_Ident[kFourCCLength_ODF];
+ CharacterType f_Ident[kFourCCLength_ODF];
- INT32 f_DocumentKind;
- INT32 f_DocumentSize;
+ Int32Type f_DocumentKind;
+ Int32Type f_DocumentSize;
- INT64 f_MetaForkOffset;
- INT64 f_DocumentForkOffset;
+ Int64Type f_MetaForkOffset;
+ Int64Type f_DocumentForkOffset;
- CHAR f_Padding[4];
+ CharacterType f_Padding[4];
} PACKED ODFFileHeader;
/// @brief ODF Fork header
typedef struct ODFForkHeader
{
- CHAR f_MetadataName[255];
+ CharacterType f_MetadataName[255];
- INT32 f_MetadataKind;
- INT32 f_MetadataSize;
+ Int32Type f_MetadataKind;
+ Int32Type f_MetadataSize;
- CHAR f_Padding;
+ CharacterType f_Padding;
} PACKED ODFForkHeader;
#endif // !__ODF__ \ No newline at end of file
diff --git a/Public/Kits/System.Core/Containers/XIFF.hxx b/Public/Kits/System.Core/Headers/Containers/XIFF.hxx
index 622a5a87..e14868a6 100644
--- a/Public/Kits/System.Core/Containers/XIFF.hxx
+++ b/Public/Kits/System.Core/Headers/Containers/XIFF.hxx
@@ -12,7 +12,7 @@
------------------------------------------------------- */
-#include <System.Core/Defs.hxx>
+#include <System.Core/Headers/Defs.hxx>
/// @brief four-character code for XIFF.
#define kFourCCLength_XIFF 4
@@ -29,12 +29,12 @@
*/
struct PACKED XiffHeader final {
- BYTE f_Magic[kFourCCLength_XIFF]; // XIFF string (includes \0)
- DWORD f_Size; // overall size of header (XiffHeader) in bytes
- DWORD f_FormatType; // format type. generic
- BYTE f_SpecificMag[kFourCCLength_XIFF]; // The sub header magic
- DWORD f_SpecificSize; // length of the format data
- DWORD f_SpecificFormatType; // format type. generic
+ ByteType f_Magic[kFourCCLength_XIFF]; // XIFF string (includes \0)
+ DWordType f_Size; // overall size of header (XiffHeader) in bytes
+ DWordType f_FormatType; // format type. generic
+ ByteType f_SpecificMag[kFourCCLength_XIFF]; // The sub header magic
+ DWordType f_SpecificSize; // length of the format data
+ DWordType f_SpecificFormatType; // format type. generic
};
typedef struct XiffHeader XiffHeader;
diff --git a/Public/Kits/System.Core/Defs.hxx b/Public/Kits/System.Core/Headers/Defs.hxx
index 6d0fb99a..367849da 100644
--- a/Public/Kits/System.Core/Defs.hxx
+++ b/Public/Kits/System.Core/Headers/Defs.hxx
@@ -14,8 +14,6 @@
#undef CA_MUST_PASS
#endif
-#include <ObjectKit/ObjectKit.hxx>
-
#ifdef _DEBUG
#define CA_MUST_PASS(e) { if (!e) { __assert_chk_fail() } }
#else
@@ -40,38 +38,56 @@ CA_EXTERN_C void __assert_chk_fail(void);
#define CA_PASCAL CA_STDCALL
-typedef __UINT8_TYPE__ BYTE;
-typedef __UINT16_TYPE__ WORD;
-typedef __UINT32_TYPE__ DWORD;
-typedef __UINT64_TYPE__ QWORD;
+typedef __UINT8_TYPE__ ByteType;
+typedef __UINT16_TYPE__ WordType;
+typedef __UINT32_TYPE__ DWordType;
+typedef __UINT64_TYPE__ QWordType;
+typedef __SIZE_TYPE__ SizeType;
+
+typedef char CharacterType;
+typedef CharacterType* PtrCharacterType;
+
+typedef void* PtrVoidType;
+typedef void VoidType;
+
+typedef __UINTPTR_TYPE__ UIntPtrType;
+typedef __INTPTR_TYPE__ IntPtrType;
+typedef __UINT64_TYPE__ UInt64Type;
+typedef __INT64_TYPE__ Int64Type;
+typedef __UINT32_TYPE__ UInt32Type;
+typedef __INT32_TYPE__ Int32Type;
+
+typedef CharacterType BooleanType;
+
+#define CA_COPY_DELETE(KLASS) \
+ KLASS &operator=(const KLASS &) = delete; \
+ KLASS(const KLASS &) = delete;
+
+
+#define CA_COPY_DEFAULT(KLASS) \
+ KLASS &operator=(const KLASS &) = default; \
+ KLASS(const KLASS &) = default;
-typedef char CHAR;
-typedef CHAR* PCHAR;
-typedef void* PVOID;
-typedef void VOID;
+#define CA_MOVE_DELETE(KLASS) \
+ KLASS &operator=(KLASS &&) = delete; \
+ KLASS(KLASS &&) = delete;
-typedef __UINTPTR_TYPE__ UINT_PTR;
-typedef __INTPTR_TYPE__ INT_PTR;
-typedef __UINT64_TYPE__ UINT64;
-typedef __INT64_TYPE__ INT64;
-typedef __UINT32_TYPE__ UINT32;
-typedef __INT32_TYPE__ INT32;
-typedef __WCHAR_TYPE__ WCHAR;
-typedef WCHAR* PWCHAR;
+#define CA_MOVE_DEFAULT(KLASS) \
+ KLASS &operator=(KLASS &&) = default; \
+ KLASS(KLASS &&) = default;
-typedef CHAR BOOL;
-#define TRUE 1
-#define FALSE 0
+#define Yes 1
+#define No 0
#define CA_PTR *
#define CA_FAR __far
#define CA_NEAR __near
-#define CA_UNREFERENCED_PARAMETER(e) ((VOID)e)
+#define CA_UNREFERENCED_PARAMETER(e) ((VoidType)e)
#ifdef __x86_64__
# define _M_AMD64 2
@@ -103,20 +119,20 @@ typedef CHAR BOOL;
#define CA_CONSTEXPR
#endif // __cplusplus
-CA_INLINE ObjectPtr kInstanceObject;
-
enum HcProcessCall {
kProcessCallAllocPtr = 1,
kProcessCallFreePtr,
kProcessCallSizePtr,
kProcessCallCheckPtr,
kProcessCallAllocStack,
+ /// @brief Open a specific handle (can be used as sel to call methods related to it.)
kProcessCallOpenHandle,
kProcessCallCloseHandle,
+ /// @brief Number of process calls.
kProcessCallsCount = 7,
};
-#include <System.Core/Hint.hxx>
+#include <System.Core/Headers/Hint.hxx>
class SystemException {
public:
@@ -124,7 +140,7 @@ class SystemException {
virtual ~SystemException() = default;
public:
- HCORE_COPY_DEFAULT(SystemException);
+ CA_COPY_DEFAULT(SystemException);
public:
virtual const char *Name() = 0;
@@ -140,7 +156,7 @@ class ObjectNotFoundException : public SystemException {
virtual ~ObjectNotFoundException() = default;
public:
- HCORE_COPY_DEFAULT(ObjectNotFoundException);
+ CA_COPY_DEFAULT(ObjectNotFoundException);
public:
const char *Name() override { return "ObjectNotFoundException"; }
@@ -159,7 +175,7 @@ class PointerException : public SystemException {
virtual ~PointerException() = default;
public:
- HCORE_COPY_DEFAULT(PointerException);
+ CA_COPY_DEFAULT(PointerException);
public:
const char *Name() override { return "PointerException"; }
@@ -178,7 +194,7 @@ class NullPointerException : public SystemException {
virtual ~NullPointerException() = default;
public:
- HCORE_COPY_DEFAULT(NullPointerException);
+ CA_COPY_DEFAULT(NullPointerException);
public:
const char *Name() override { return "NullPointerException"; }
@@ -188,3 +204,45 @@ class NullPointerException : public SystemException {
const char *mReason{
"System.Core: NullPointerException: Catastrophic failure!"};
};
+
+#define kObjectGlobalNamespaceSystem "HCORE_ROOT\\"
+#define kObjectGlobalNamespaceUser "HCORE_USER_ROOT\\"
+
+enum {
+ kObjectTypeProcess,
+ kObjectTypeFile,
+ kObjectTypeDevice,
+ kObjectTypeNetwork,
+ kObjectTypeInvalid,
+ KObjectTypeUserDefined = 0xCF,
+ kObjectTypeCount = 5,
+};
+
+/**
+ * @brief GUID type, something you can also find in CFKit.
+ * @author AMlal El Mahrouss
+ */
+typedef struct GUID final {
+ DWordType Data1;
+ WordType Data2;
+ WordType Data3;
+ ByteType Data4[8];
+} GUIDType, *PtrGUIDType;
+
+/// \brief Object handle.
+/// \author Amlal El Mahrouss
+typedef struct Object final {
+ CharacterType ObjectName[255];
+ DWordType ObjectType;
+ CharacterType ObjectNamespace[255];
+
+ VoidType(*Release)(struct Object* Self);
+ IntPtrType(*Invoke)(struct Object* Self, DWordType Sel, ...);
+ VoidType(*Query)(struct Object* Self, PtrVoidType* Dst, SizeType SzDst, struct GUID* GuidOf);
+} Object, *ObjectPtr;
+
+#define object_cast reinterpret_cast<ObjectPtr>
+
+CA_EXTERN_C ObjectPtr HcGetInstanceObject(void);
+
+CA_INLINE ObjectPtr kInstanceObject;
diff --git a/Public/Kits/System.Core/File.hxx b/Public/Kits/System.Core/Headers/File.hxx
index 7ae70faf..48331c15 100644
--- a/Public/Kits/System.Core/File.hxx
+++ b/Public/Kits/System.Core/Headers/File.hxx
@@ -7,35 +7,34 @@
#ifndef __FILE_API__
#define __FILE_API__
-#include <CompilerKit/CompilerKit.hxx>
-#include <NewKit/Defines.hpp>
+#include <System.Core/Headers/Defs.hxx>
/// @brief SOM class, translated to C++
namespace System {
-class File final {
+class FileInterface final {
public:
- explicit File(const char *path) {
+ explicit FileInterface(const char *path) {
mHandle = kInstanceObject->Invoke(kInstanceObject, kProcessCallOpenHandle,
0, path);
}
- ~File() {
+ ~FileInterface() {
kInstanceObject->Invoke(kInstanceObject, kProcessCallCloseHandle, 0,
mHandle);
}
public:
- HCORE_COPY_DEFAULT(File);
+ CA_COPY_DEFAULT(FileInterface);
public:
- voidPtr Read(UIntPtr off, SizeT sz) { return (VoidPtr)kInstanceObject->Invoke(kInstanceObject, mHandle, 2, off, sz); }
- voidPtr Read(SizeT sz) { return (VoidPtr)kInstanceObject->Invoke(kInstanceObject, mHandle, 3, sz); }
+ PtrVoidType Read(UIntPtrType off, SizeType sz) { return (PtrVoidType)kInstanceObject->Invoke(kInstanceObject, mHandle, 2, off, sz); }
+ PtrVoidType Read(SizeType sz) { return (PtrVoidType)kInstanceObject->Invoke(kInstanceObject, mHandle, 3, sz); }
- void Write(VoidPtr buf, UIntPtr off, SizeT sz) { kInstanceObject->Invoke(kInstanceObject, mHandle, 4, buf, off, sz); }
- void Write(VoidPtr buf, SizeT sz) { kInstanceObject->Invoke(kInstanceObject, mHandle, 5, buf, sz); }
+ void Write(PtrVoidType buf, UIntPtrType off, SizeType sz) { kInstanceObject->Invoke(kInstanceObject, mHandle, 4, buf, off, sz); }
+ void Write(PtrVoidType buf, SizeType sz) { kInstanceObject->Invoke(kInstanceObject, mHandle, 5, buf, sz); }
- void Seek(UIntPtr off) { kInstanceObject->Invoke(kInstanceObject, mHandle, 5); }
+ void Seek(UIntPtrType off) { kInstanceObject->Invoke(kInstanceObject, mHandle, 5); }
void Rewind() { kInstanceObject->Invoke(kInstanceObject, mHandle, 6); }
public:
@@ -43,10 +42,10 @@ class File final {
void MIME(const char *mime);
private:
- IntPtr mHandle;
+ IntPtrType mHandle;
};
-typedef File *FilePtr;
+typedef FileInterface *FilePtr;
/// @brief file exception
/// Throws when the file isn't found or invalid.
@@ -56,7 +55,7 @@ class FileException : public SystemException {
virtual ~FileException() = default;
public:
- HCORE_COPY_DEFAULT(FileException);
+ CA_COPY_DEFAULT(FileException);
public:
const char *Name() override { return "FileException"; }
diff --git a/Public/Kits/System.Core/Headers/Heap.hxx b/Public/Kits/System.Core/Headers/Heap.hxx
new file mode 100644
index 00000000..43eaacab
--- /dev/null
+++ b/Public/Kits/System.Core/Headers/Heap.hxx
@@ -0,0 +1,63 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+#pragma once
+
+#include <System.Core/Headers/Defs.hxx>
+
+namespace System {
+class MemoryException;
+
+typedef PtrVoidType HeapPtr;
+
+enum {
+ kHeapExpandable = 2,
+ kHeapNoExecute = 4,
+ kHeapShared = 6,
+ kHeapReadOnly = 8,
+ kHeapNoFlags = 0
+};
+
+class HeapInterface final {
+ private:
+ explicit HeapInterface();
+
+ public:
+ ~HeapInterface();
+
+ public:
+ CA_COPY_DEFAULT(HeapInterface);
+
+ public:
+ static HeapInterface *Shared() noexcept;
+
+ public:
+ void Delete(HeapPtr me) noexcept;
+ SizeType Size(HeapPtr me) noexcept;
+ HeapPtr New(const SizeType &sz,
+ const DWordType flags = kHeapNoFlags);
+};
+
+
+/// @brief heap exception
+/// Throws when the heap pointer isn't found or invalid.
+class HeapException : public SystemException {
+ public:
+ explicit HeapException() = default;
+ virtual ~HeapException() = default;
+
+ public:
+ CA_COPY_DEFAULT(HeapException);
+
+ public:
+ const char *Name() override { return "HeapException"; }
+ const char *Reason() override { return mReason; }
+
+ private:
+ const char *mReason{"System.Core: HeapException: Catastrophic failure!"};
+};
+
+} // namespace System \ No newline at end of file
diff --git a/Public/Kits/System.Core/Hint.hxx b/Public/Kits/System.Core/Headers/Hint.hxx
index 86faf455..86faf455 100644
--- a/Public/Kits/System.Core/Hint.hxx
+++ b/Public/Kits/System.Core/Headers/Hint.hxx
diff --git a/Public/Kits/System.Core/Headers/Thread.hxx b/Public/Kits/System.Core/Headers/Thread.hxx
new file mode 100644
index 00000000..306419b3
--- /dev/null
+++ b/Public/Kits/System.Core/Headers/Thread.hxx
@@ -0,0 +1,49 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+//
+// Created by Amlal on 3/18/24
+//
+
+#ifndef __THREAD_API__
+#define __THREAD_API__
+
+#include <System.Core/Headers/Defs.hxx>
+
+/// @brief Thread Information Block, which holds information about the running thread.
+typedef PtrVoidType PtrThread;
+
+/// @brief Creates a new thread.
+/// @param StartProc
+/// @param OptionalHeap
+/// @param OptionalStack
+/// @param Detach
+/// @param Join
+/// @return
+PtrThread HcCreateThread(_Input PtrVoidType StartProc,
+ _Optional _InOut PtrVoidType OptionalHeap,
+ _Optional _InOut PtrVoidType OptionalStack,
+ _Optional _Input BooleanType Detach,
+ _Optional _Input BooleanType Join);
+
+/// @brief Destroys the thread object.
+/// @param ThreadPtr
+/// @return
+BooleanType HcDestroyThread(_Input PtrThread ThreadPtr);
+
+/// @brief Stops the thread.
+/// @param ThreadPtr
+/// @return
+BooleanType HcStopThread(_Input PtrThread ThreadPtr);
+
+/// @brief Resumes it.
+/// @param ThreadPtr
+/// @return
+BooleanType HcResumeThread(_Input PtrThread ThreadPtr);
+
+QWordType HcProcessIdThread(_Input PtrThread ThreadPtr);
+
+#endif // __THREAD_API__
diff --git a/Public/Kits/System.Core/Heap.cxx b/Public/Kits/System.Core/Heap.cxx
deleted file mode 100644
index 55850b1a..00000000
--- a/Public/Kits/System.Core/Heap.cxx
+++ /dev/null
@@ -1,45 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#include <System.Core/Heap.hxx>
-#include <System.Core/System.Core.hxx>
-
-using namespace System;
-
-/// @brief Shared instance of the heap.
-/// @return
-Heap* Heap::Shared() noexcept {
- static Heap* heap = nullptr;
-
- if (!heap) {
- heap = new Heap();
- }
-
- return heap;
-}
-
-Heap::Heap() {
- CA_MUST_PASS(HcProcessHeapExists(kInstanceObject, (VoidPtr)this));
-}
-
-Heap::~Heap() { delete this; }
-
-void Heap::Delete(HeapPtr me) noexcept {
- CA_MUST_PASS(me);
- HcFreeProcessHeap(kInstanceObject, me);
-}
-
-SizeT Heap::Size(HeapPtr me) noexcept {
- CA_MUST_PASS(me);
- return HcProcessHeapSize(kInstanceObject, me);
-}
-
-HeapPtr Heap::New(const SizeT& sz, const Int32 flags) {
- SizeT _sz = sz;
- if (!_sz) ++_sz;
-
- return HcAllocateProcessHeap(kInstanceObject, _sz, flags);
-} \ No newline at end of file
diff --git a/Public/Kits/System.Core/Heap.hxx b/Public/Kits/System.Core/Heap.hxx
deleted file mode 100644
index ff0fc75a..00000000
--- a/Public/Kits/System.Core/Heap.hxx
+++ /dev/null
@@ -1,79 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#pragma once
-
-#include <CompilerKit/CompilerKit.hxx>
-#include <System.Core/Defs.hxx>
-
-#define kAllocationTypes 2
-
-CA_EXTERN_C PVOID HcAllocateProcessHeap(ObjectPtr refObj, QWORD sz,
- DWORD flags);
-CA_EXTERN_C BOOL HcProcessHeapExists(ObjectPtr refObj, PVOID ptr);
-CA_EXTERN_C QWORD HcProcessHeapSize(ObjectPtr refObj, PVOID ptr);
-CA_EXTERN_C VOID HcFreeProcessHeap(ObjectPtr refObj, PVOID ptr);
-CA_EXTERN_C ObjectPtr HcGetInstanceObject(void);
-
-enum HcAllocationKind {
- kStandardAllocation = 0xC,
- kArrayAllocation = 0xD,
-};
-
-namespace System {
-using namespace HCore;
-
-class MemoryException;
-
-typedef PVOID HeapPtr;
-
-enum {
- kHeapExpandable = 2,
- kHeapNoExecute = 4,
- kHeapShared = 6,
- kHeapReadOnly = 8,
- kHeapNoFlags = 0
-};
-
-class Heap final {
- private:
- explicit Heap();
-
- public:
- ~Heap();
-
- public:
- HCORE_COPY_DEFAULT(Heap);
-
- public:
- static Heap *Shared() noexcept;
-
- public:
- void Delete(HeapPtr me) noexcept;
- SizeT Size(HeapPtr me) noexcept;
- HeapPtr New(const SizeT &sz, const Int32 flags = kHeapNoFlags);
-};
-
-
-/// @brief heap exception
-/// Throws when the heap pointer isn't found or invalid.
-class HeapException : public SystemException {
- public:
- explicit HeapException() = default;
- virtual ~HeapException() = default;
-
- public:
- HCORE_COPY_DEFAULT(HeapException);
-
- public:
- const char *Name() override { return "HeapException"; }
- const char *Reason() override { return mReason; }
-
- private:
- const char *mReason{"System.Core: HeapException: Catastrophic failure!"};
-};
-
-} // namespace System \ No newline at end of file
diff --git a/Public/Kits/System.Core/HeapRuntime.cxx b/Public/Kits/System.Core/HeapRuntime.cxx
deleted file mode 100644
index c2f1f0e9..00000000
--- a/Public/Kits/System.Core/HeapRuntime.cxx
+++ /dev/null
@@ -1,44 +0,0 @@
-/** ===========================================
- (C) Mahrouss Logic
- ===========================================*/
-
-#include <System.Core/Heap.hxx>
-
-/// @brief Allocate from the user's heap.
-/// @param refObj Process object.
-/// @param sz size of object.
-/// @param flags flags.
-/// @return
-CA_EXTERN_C PVOID HcAllocateProcessHeap(ObjectPtr refObj, QWORD sz,
- DWORD flags) {
- CA_MUST_PASS(sz);
- CA_MUST_PASS(flags);
-
- return (PVOID)refObj->Invoke(refObj, kProcessCallAllocPtr, sz, flags);
-}
-
-/// @brief Free pointer from the user's heap.
-/// @param refObj Process object.
-/// @param ptr the pointer to free.
-CA_EXTERN_C VOID HcFreeProcessHeap(ObjectPtr refObj, PVOID ptr) {
- CA_MUST_PASS(ptr);
- CA_UNREFERENCED_PARAMETER(refObj->Invoke(refObj, kProcessCallFreePtr, ptr));
-}
-
-/// @brief Get pointer size.
-/// @param refObj Process object.
-/// @param ptr the pointer to find.
-/// @return the size.
-CA_EXTERN_C QWORD HcProcessHeapSize(ObjectPtr refObj, PVOID ptr) {
- CA_MUST_PASS(ptr);
- return refObj->Invoke(refObj, kProcessCallSizePtr, ptr);
-}
-
-/// @brief Check if the pointer exists.
-/// @param refObj Process object.
-/// @param ptr the pointer to check.
-/// @return if it exists
-CA_EXTERN_C BOOL HcProcessHeapExists(ObjectPtr refObj, PVOID ptr) {
- CA_MUST_PASS(ptr);
- return refObj->Invoke(refObj, kProcessCallCheckPtr, ptr);
-}
diff --git a/Public/Kits/System.Core/Makefile b/Public/Kits/System.Core/Makefile
index fb0f3e87..13fdf960 100644
--- a/Public/Kits/System.Core/Makefile
+++ b/Public/Kits/System.Core/Makefile
@@ -9,7 +9,7 @@ OUTPUT=System.Core.dll
.PHONY: build-core-amd64
build-core-amd64:
- $(CC) -I../ -I$(HOME) -I../../../Private/ $(CCFLAGS) $(wildcard *.cxx) $(wildcard AMD64/*.s) -o $(OUTPUT)
+ $(CC) -I../ -I$(HOME) -I../../../Private/ $(CCFLAGS) $(wildcard Sources/*.cxx) $(wildcard AMD64/*.s) -o $(OUTPUT)
.PHONY: all
all: build-core
diff --git a/Public/Kits/System.Graphics/.gitkeep b/Public/Kits/System.Core/RISCV/.gitkeep
index e69de29b..e69de29b 100644
--- a/Public/Kits/System.Graphics/.gitkeep
+++ b/Public/Kits/System.Core/RISCV/.gitkeep
diff --git a/Public/Kits/System.Core/InitRuntime.cxx b/Public/Kits/System.Core/Sources/DllMain.cxx
index 8d5596ca..9412cbbb 100644
--- a/Public/Kits/System.Core/InitRuntime.cxx
+++ b/Public/Kits/System.Core/Sources/DllMain.cxx
@@ -2,11 +2,11 @@
(C) Mahrouss Logic
===========================================*/
-#include <System.Core/Heap.hxx>
+#include <System.Core/Headers/Heap.hxx>
-/// @brief Inits the process runtime
+/// @brief Inits the DLL.
/// @return if it was succesful or not.
-DWORD HcInitRuntime(VOID) {
+DWordType __DllMain(VoidType) {
kInstanceObject = HcGetInstanceObject();
CA_MUST_PASS(kInstanceObject);
diff --git a/Public/Kits/System.Core/Sources/Heap.cxx b/Public/Kits/System.Core/Sources/Heap.cxx
new file mode 100644
index 00000000..b3f43ad3
--- /dev/null
+++ b/Public/Kits/System.Core/Sources/Heap.cxx
@@ -0,0 +1,83 @@
+/* -------------------------------------------
+
+ Copyright Mahrouss Logic
+
+------------------------------------------- */
+
+#include <System.Core/Headers/Heap.hxx>
+
+/// @brief Allocate from the user's heap.
+/// @param refObj Process object.
+/// @param sz size of object.
+/// @param flags flags.
+/// @return
+CA_EXTERN_C PtrVoidType HcAllocateProcessHeap(ObjectPtr refObj, QWordType sz,
+ DWordType flags) {
+ CA_MUST_PASS(sz);
+ CA_MUST_PASS(flags);
+
+ return (PtrVoidType)refObj->Invoke(refObj, kProcessCallAllocPtr, sz, flags);
+}
+
+/// @brief Free pointer from the user's heap.
+/// @param refObj Process object.
+/// @param ptr the pointer to free.
+CA_EXTERN_C VoidType HcFreeProcessHeap(ObjectPtr refObj, PtrVoidType ptr) {
+ CA_MUST_PASS(ptr);
+ CA_UNREFERENCED_PARAMETER(refObj->Invoke(refObj, kProcessCallFreePtr, ptr));
+}
+
+/// @brief Get pointer size.
+/// @param refObj Process object.
+/// @param ptr the pointer to find.
+/// @return the size.
+CA_EXTERN_C QWordType HcProcessHeapSize(ObjectPtr refObj, PtrVoidType ptr) {
+ CA_MUST_PASS(ptr);
+ return refObj->Invoke(refObj, kProcessCallSizePtr, ptr);
+}
+
+/// @brief Check if the pointer exists.
+/// @param refObj Process object.
+/// @param ptr the pointer to check.
+/// @return if it exists
+CA_EXTERN_C BooleanType HcProcessHeapExists(ObjectPtr refObj, PtrVoidType ptr) {
+ CA_MUST_PASS(ptr);
+ return refObj->Invoke(refObj, kProcessCallCheckPtr, ptr);
+}
+
+using namespace System;
+
+/// @brief Shared instance of the heap.
+/// @return
+HeapInterface* HeapInterface::Shared() noexcept {
+ static HeapInterface* heap = nullptr;
+
+ if (!heap) {
+ heap = new HeapInterface();
+ }
+
+ return heap;
+}
+
+HeapInterface::HeapInterface() {
+ CA_MUST_PASS(HcProcessHeapExists(kInstanceObject, (PtrVoidType)this));
+}
+
+HeapInterface::~HeapInterface() { delete this; }
+
+void HeapInterface::Delete(HeapPtr me) noexcept {
+ CA_MUST_PASS(me);
+ HcFreeProcessHeap(kInstanceObject, me);
+}
+
+SizeType HeapInterface::Size(HeapPtr me) noexcept {
+ CA_MUST_PASS(me);
+ return HcProcessHeapSize(kInstanceObject, me);
+}
+
+HeapPtr HeapInterface::New(const SizeType& sz, const DWordType flags) {
+ SizeType _sz = sz;
+ if (!_sz) ++_sz;
+
+ return HcAllocateProcessHeap(kInstanceObject, _sz, flags);
+}
diff --git a/Public/Kits/System.Core/New+Delete.cxx b/Public/Kits/System.Core/Sources/New+Delete.cxx
index 507cb7a3..019db66c 100644
--- a/Public/Kits/System.Core/New+Delete.cxx
+++ b/Public/Kits/System.Core/Sources/New+Delete.cxx
@@ -4,7 +4,22 @@
------------------------------------------- */
-#include <System.Core/Heap.hxx>
+#include <System.Core/Headers/Heap.hxx>
+
+#define kAllocationTypes 2
+
+enum HcAllocationKind {
+ kStandardAllocation = 0xC,
+ kArrayAllocation = 0xD,
+};
+
+CA_EXTERN_C PtrVoidType HcAllocateProcessHeap(ObjectPtr refObj, QWordType sz,
+ DWordType flags);
+CA_EXTERN_C BooleanType HcProcessHeapExists(ObjectPtr refObj, PtrVoidType ptr);
+CA_EXTERN_C QWordType HcProcessHeapSize(ObjectPtr refObj, PtrVoidType ptr);
+CA_EXTERN_C VoidType HcFreeProcessHeap(ObjectPtr refObj, PtrVoidType ptr);
+
+typedef SizeType size_t;
void* operator new[](size_t sz)
{
diff --git a/Public/Kits/System.Core/System.Core.hxx b/Public/Kits/System.Core/System.Core.hxx
deleted file mode 100644
index 96ab45be..00000000
--- a/Public/Kits/System.Core/System.Core.hxx
+++ /dev/null
@@ -1,14 +0,0 @@
-/** ===========================================
- (C) Mahrouss Logic
- ===========================================*/
-
-#pragma once
-
-/// Process Heap API
-#include <System.Core/Heap.hxx>
-
-/// File API & Device API.
-#include <System.Core/File.hxx>
-
-/// Process & Threading API
-#include <System.Core/Threading.hxx>
diff --git a/Public/Kits/System.Core/System.hxx b/Public/Kits/System.Core/System.hxx
deleted file mode 100644
index 05028d87..00000000
--- a/Public/Kits/System.Core/System.hxx
+++ /dev/null
@@ -1,18 +0,0 @@
-/*** ===========================================
- (C) Mahrouss Logic
- ===========================================*/
-
-#pragma once
-
-/** ---------------------------------------------------
-
- * THIS FILE CONTAINS CODE FOR THE STANDARD HCORE API.
-
-------------------------------------------------------- */
-
-#include <System.Core/Defs.hxx>
-#include <System.Core/File.hxx>
-#include <System.Core/Heap.hxx>
-#include <System.Core/Threading.hxx>
-
-using namespace HCore;
diff --git a/Public/Kits/System.Core/Threading.hxx b/Public/Kits/System.Core/Threading.hxx
deleted file mode 100644
index bddbbf3f..00000000
--- a/Public/Kits/System.Core/Threading.hxx
+++ /dev/null
@@ -1,34 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-//
-// Created by Amlal on 3/18/24
-//
-
-#ifndef __THREAD_API__
-#define __THREAD_API__
-
-#include <System.Core/Defs.hxx>
-
-/// @brief Thread Information Block variant for scheduling.
-struct PACKED ThreadInformationBlock final {
- const UINT_PTR StartAddress; // Start Address
- const UINT_PTR StartHeap; // Allocation Heap
- const UINT_PTR StartStack; // Stack Pointer.
- const WORD ThreadID; // Execution Thread ID.
-};
-
-ThreadInformationBlock* HcCreateThread(_Input PVOID Start,
- _Optional _InOut PVOID HeapOpt,
- _Optional _InOut PVOID StackOpt);
-
-BOOL HcDestroyThread(_Input ThreadInformationBlock* TIB);
-
-BOOL HcStopThread(_Input ThreadInformationBlock* TIB);
-
-BOOL HcResumeThread(_Input ThreadInformationBlock* TIB);
-
-#endif // __THREAD_API__
diff --git a/Public/Kits/System.Graphics/Core.cxx b/Public/Kits/System.Graphics/Core.cxx
deleted file mode 100644
index 9a4ef7a7..00000000
--- a/Public/Kits/System.Graphics/Core.cxx
+++ /dev/null
@@ -1,14 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Core.cxx
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#include <System.Graphics/Core.hxx>
diff --git a/Public/Kits/System.Graphics/Core.hxx b/Public/Kits/System.Graphics/Core.hxx
deleted file mode 100644
index a453e095..00000000
--- a/Public/Kits/System.Graphics/Core.hxx
+++ /dev/null
@@ -1,185 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Core.hxx
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
- 08/02/24: Update Form to GForm. (amlel)
-
-------------------------------------------- */
-
-#pragma once
-
-#include <CompilerKit/CompilerKit.hxx>
-#include <NewKit/Array.hpp>
-#include <NewKit/Defines.hpp>
-#include <NewKit/Ref.hpp>
-#include <NewKit/String.hpp>
-
-#define $() HCore::GApplication::Shared()->Document()
-
-#ifndef __EXPORT_LIB
-#define G_API __attribute__((pef_container(".IMPORT")))
-#else
-#define G_API __attribute__((pef_container(".EXPORT")))
-#endif // ifdef __EXPORT_LIB
-
-namespace System::Graphics {
-template <typename... T>
-class GAction;
-
-class GString;
-class GNumber;
-class GVector2;
-class GBoolean;
-class GDocument;
-class GApplication;
-class GFrame;
-
-class G_API GBoolean {
- private:
- explicit GBoolean() : m_Value(false) {}
-
- HCore::Boolean m_Value;
-
- friend class GForm;
-
- public:
- static const GBoolean Construct(HCore::StringView& sw, HCore::Boolean value) {
- GBoolean boolean;
- boolean.m_Value = value;
-
- return boolean;
- }
-};
-
-template <typename... T>
-class G_API GAction {
- explicit GAction(HCore::StringView& sw) { m_Name = sw; }
-
- HCore::StringView m_Name;
- void (*m_Action)(T&&... args);
-
- friend class GForm;
-
- public:
- static const GAction Construct(HCore::StringView& sw,
- void (*action)(T&&... args)) {
- GAction actcls{sw};
- actcls.m_Action = action;
-
- return actcls;
- }
-};
-
-class G_API GVector2 {
- explicit GVector2(HCore::StringView& sw) : m_Vec2() {}
-
- HCore::Array<HCore::Int, 3> m_Vec2;
-
- friend class GForm;
-
- public:
- static const GVector2 Construct(HCore::StringView& sw,
- HCore::Array<HCore::Int, 3>& vec2) {
- GVector2 vec{sw};
- vec.m_Vec2 = vec2;
-
- return vec;
- }
-};
-
-class G_API GNumber {
- HCore::Int m_Number{0};
- friend class GForm;
-
- public:
- static const GNumber Construct(HCore::Int& number) {
- GNumber num;
- num.m_Number = number;
-
- return num;
- }
-};
-
-class G_API GString {
- explicit GString(HCore::StringView& content) {
- m_Content = new HCore::StringView();
- *m_Content = content;
- }
-
- HCore::StringView* m_Content;
-
- friend class GForm;
-
- public:
- static const GString Construct(HCore::StringView& value) {
- GString str{value};
- return str;
- }
-};
-
-class G_API GApplication final {
- public:
- explicit GApplication() = default;
- ~GApplication() = default;
-
- HCORE_COPY_DEFAULT(GApplication);
-
- GDocument* Document() noexcept { return nullptr; }
-
- static GApplication* Shared() noexcept {
- STATIC GApplication* kApp = nullptr;
-
- if (!kApp) kApp = new GApplication();
-
- return kApp;
- }
-};
-
-class G_API GDocument final {
- public:
- explicit GDocument(HCore::StringView& sv) : mString(GString::Construct(sv)) {}
- ~GDocument() = default;
-
- HCORE_COPY_DEFAULT(GDocument);
-
- GFrame** GetAddressOf() noexcept { return &mFrame; }
- GFrame* Get() noexcept { return mFrame; }
-
- GString& Name() { return mString; }
-
- private:
- GFrame* mFrame{nullptr};
- GString mString;
-};
-
-class GException final {
- public:
- explicit GException() = default;
- ~GException() = default;
-
- public:
- HCORE_COPY_DEFAULT(GException);
-
- public:
- const char* Name() { return "User Interface error."; }
- const char* Reason() { return mReason; }
-
- private:
- const char* mReason{"System.Graphics: Graphics exception. Check HError."};
-};
-
-template <typename GFrameType, typename GFrameBase>
-inline GFrameType* frame_cast(GFrameBase* Frame) {
- if (!dynamic_cast<GFrameType*>(Frame)) {
- throw GException();
- }
-
- return dynamic_cast<GFrameType*>(Frame);
-}
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Dim2d.cxx b/Public/Kits/System.Graphics/Dim2d.cxx
deleted file mode 100644
index 5925660d..00000000
--- a/Public/Kits/System.Graphics/Dim2d.cxx
+++ /dev/null
@@ -1,20 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Dim2d.cpp
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#include <System.Graphics/Dim2d.hxx>
-
-namespace System::Graphics {
-HCore::UInt& Dim2d::X() { return m_X; }
-
-HCore::UInt& Dim2d::Y() { return m_Y; }
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Dim2d.hxx b/Public/Kits/System.Graphics/Dim2d.hxx
deleted file mode 100644
index 77d42c90..00000000
--- a/Public/Kits/System.Graphics/Dim2d.hxx
+++ /dev/null
@@ -1,38 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Dim2d.hpp
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
- 3/10/24: Remname extension to .hxx
-
-------------------------------------------- */
-
-#ifndef __DIM2D__
-#define __DIM2D__
-
-#include <System.Graphics/Core.hxx>
-
-namespace System::Graphics {
-class G_API Dim2d final {
- public:
- explicit Dim2d() = delete;
- explicit Dim2d(const HCore::UInt& x, const HCore::UInt& y) : m_X(x), m_Y(y) {}
-
- Dim2d& operator=(const Dim2d&) = default;
- Dim2d(const Dim2d&) = default;
-
- HCore::UInt& X();
- HCore::UInt& Y();
-
- private:
- HCore::UInt m_X{0};
- HCore::UInt m_Y{0};
-};
-} // namespace System::Graphics
-
-#endif /* ifndef __DIM2D__ */
diff --git a/Public/Kits/System.Graphics/Frame.cxx b/Public/Kits/System.Graphics/Frame.cxx
deleted file mode 100644
index ddb7b5ce..00000000
--- a/Public/Kits/System.Graphics/Frame.cxx
+++ /dev/null
@@ -1,18 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Frame.cpp
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#include <System.Graphics/Frame.hxx>
-
-namespace System::Graphics {
-
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Frame.hxx b/Public/Kits/System.Graphics/Frame.hxx
deleted file mode 100644
index 318f01cd..00000000
--- a/Public/Kits/System.Graphics/Frame.hxx
+++ /dev/null
@@ -1,60 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Frame.hxx
- Purpose:
-
- Revision History:
-
- 31/01/24: Added file (amlel)
-
-------------------------------------------- */
-
-#pragma once
-
-#include <System.Graphics/Core.hxx>
-#include <System.Graphics/Dim2d.hxx>
-#include <System.Core/Defs.hxx>
-#include <NewKit/MutableArray.hpp>
-
-namespace System::Graphics {
-class G_API GFrame {
- public:
- explicit GFrame(GFrame* parent = nullptr) : m_ParentFrame(parent) {}
- ~GFrame() {}
-
- GFrame& operator=(const GFrame&) = default;
- GFrame(const GFrame&) = default;
-
- virtual void Update() {
- if (m_Frames.Count() == 0) return;
-
- for (DWORD x = 0; x < m_Frames.Count(); ++x) {
- if (!m_Frames[x]->ShouldBeUpdated()) continue;
-
- m_Frames[x]->Update();
- }
-
- this->Paint();
- }
-
- virtual void UpdateInput() {
- if (m_Frames.Count() == 0) return;
-
- for (DWORD x = 0; x < m_Frames.Count(); ++x) {
- if (!m_Frames[x]->ShouldBeUpdated()) continue;
-
- m_Frames[x]->UpdateInput();
- }
- }
-
- virtual bool ShouldBeUpdated() { return false; }
-
- virtual void Paint() {}
-
- private:
- HCore::MutableArray<GFrame*> m_Frames;
- GFrame* m_ParentFrame{nullptr};
-};
-} // namespace System::Graphics
diff --git a/Public/Kits/System.Graphics/Makefile b/Public/Kits/System.Graphics/Makefile
deleted file mode 100644
index 1530f699..00000000
--- a/Public/Kits/System.Graphics/Makefile
+++ /dev/null
@@ -1,20 +0,0 @@
-##################################################
-# (C) Mahrouss Logic, 2024, all rights reserved.
-# This is the System.Graphics Makefile.
-##################################################
-
-CC=x86_64-w64-mingw32-g++
-CCFLAGS=-shared -ffreestanding -fno-rtti -fno-exceptions -std=c++20
-OUTPUT=System.Graphics.dll
-
-.PHONY: build-gfx
-build-gfx:
- $(CC) -I../ -I$(HOME) -I../../../Private/ $(CCFLAGS) *.cxx -o $(OUTPUT)
-
-.PHONY: all
-all: build-gfx
- @echo "[System.Graphics.dll] Build done."
-
-.PHONY: clean
-clean:
- rm -f *.o
diff --git a/Public/Kits/System.Graphics/Stylesheet.hxx b/Public/Kits/System.Graphics/Stylesheet.hxx
deleted file mode 100644
index f4106a7b..00000000
--- a/Public/Kits/System.Graphics/Stylesheet.hxx
+++ /dev/null
@@ -1,50 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
- File: Stylesheet.hxx
- Purpose:
-
- Revision History:
-
- 08/02/24: Added file (amlel)
-
-------------------------------------------- */
-
-#pragma once
-
-/// TODO: Stylesheets for GUI.
-
-#include <System.Graphics/Core.hxx>
-#include <System.Graphics/Dim2d.hxx>
-#include <NewKit/MutableArray.hpp>
-
-namespace HCore {
-class G_API GStylesheet final {
- public:
- explicit GStylesheet() = default;
- ~GStylesheet() = default;
-
- HCORE_COPY_DEFAULT(GStylesheet);
-
- MutableArray<StringView>& Props() { return mProps; }
-
- private:
- MutableArray<StringView> mProps;
-};
-
-class StylesheetParser final {
- public:
- static MutableArray<GStylesheet> FromBlob(Char* Blob, SizeT BlobSz) {
- MutableArray<GStylesheet> stylesheet;
-
- if (!Blob || BlobSz < 1) return stylesheet;
-
- for (auto BlobIndex = 0UL; BlobIndex < BlobSz; ++BlobIndex) {
-
- }
-
- return stylesheet;
- }
-};
-} // namespace HCore
diff --git a/Public/Kits/System.Graphics/compile_flags.txt b/Public/Kits/System.Graphics/compile_flags.txt
deleted file mode 100644
index 6e721e73..00000000
--- a/Public/Kits/System.Graphics/compile_flags.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--I./
--I../
--I../../../Private
--std=c++20
diff --git a/Public/Kits/System.Zip/Defines.hpp b/Public/Kits/System.Zip/Defines.hpp
deleted file mode 100644
index a894b672..00000000
--- a/Public/Kits/System.Zip/Defines.hpp
+++ /dev/null
@@ -1,30 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#pragma once
-
-#include <System.Core/System.hxx>
-
-#define ZIPKIT_VERSION "1.01"
-
-/// @brief Zip compression function
-/// @param dest
-/// @param destLen
-/// @param source
-/// @param sourceLen
-/// @return
-CA_EXTERN_C DWORD HcCompress(BYTE *dest, QWORD *destLen, const BYTE *source,
- QWORD sourceLen);
-
-/// @brief Zip uncompression function
-/// @param dest
-/// @param destLen
-/// @param source
-/// @param sourceLen
-/// @return
-CA_EXTERN_C DWORD HcUncompress(BYTE *dest, QWORD *destLen,
- const BYTE *source, QWORD sourceLen);
-
diff --git a/Public/Kits/System.Zip/Makefile b/Public/Kits/System.Zip/Makefile
deleted file mode 100644
index 8069ce4b..00000000
--- a/Public/Kits/System.Zip/Makefile
+++ /dev/null
@@ -1,22 +0,0 @@
-##################################################
-# (C) Mahrouss Logic, 2024, all rights reserved.
-# This is the System.Zip Makefile.
-##################################################
-
-CC=x86_64-w64-mingw32-g++
-CCFLAGS=-shared -ffreestanding -fno-rtti -fno-exceptions -std=c++20 -Xlinker --subsystem=17
-ASM=nasm
-ASMFLAGS=-f elf64
-OUTPUT=System.Zip.dll
-
-.PHONY: build-zip
-build-zip:
- $(CC) -I../ -I../../../Private/ $(CCFLAGS) *.cxx -o $(OUTPUT)
-
-.PHONY: all
-all: build-zip
- @echo "[System.Zip.dll] Done."
-
-.PHONY: clean
-clean:
- rm -f *.o
diff --git a/Public/Kits/System.Zip/Shell.hpp b/Public/Kits/System.Zip/Shell.hpp
deleted file mode 100644
index 19de8f07..00000000
--- a/Public/Kits/System.Zip/Shell.hpp
+++ /dev/null
@@ -1,17 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#pragma once
-
-/// TODO: integrate compression into the shell.
-
-/// @brief NewFS catalog is compressed.
-#define kNewFSIsZip 255
-
-/// @brief NewFS catalog has password attached to it.
-#define kNewFSHasPassword 256
-
-class ShellInterface;
diff --git a/Public/Kits/System.Zip/Zip.cxx b/Public/Kits/System.Zip/Zip.cxx
deleted file mode 100644
index 60d53ffb..00000000
--- a/Public/Kits/System.Zip/Zip.cxx
+++ /dev/null
@@ -1,43 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#include <System.Zip/Zip.hpp>
-#include <System.Core/Defs.hxx>
-
-#define kZipInitialSize 4096
-
-namespace System::Zip {
-ZipStream::ZipStream()
- : fSharedData(System::Heap::Shared()->New(kZipInitialSize, kHeapExpandable)),
- fSharedSz(kZipInitialSize) {}
-
-ZipStream::~ZipStream() noexcept {
- if (fSharedData) System::Heap::Shared()->Delete(fSharedData);
-}
-
-FilePtr ZipStream::FlushToFile(const char *name) {
- FilePtr fp = new File(name);
- CA_MUST_PASS(fp);
-
- this->fSharedSz = System::Heap::Shared()->Size(this->fSharedData);
-
- fp->MIME(kZipKitMime);
- fp->Write(this->fSharedData, this->fSharedSz);
-
- return fp;
-}
-
-void *ZipStream::Deflate(const char *name) {
- QWORD tmpSharedSz = this->fSharedSz;
- HcUncompress((BYTE*)this->fSharedData, &this->fSharedSz, (BYTE*)this->fSharedData, tmpSharedSz);
-
- return this->fSharedData;
-}
-
-void ZipStream::Inflate(const char *name, BYTE *data, QWORD dataLen) {
- HcCompress((BYTE*)this->fSharedData, &this->fSharedSz, (BYTE*)data, dataLen);
-}
-} // namespace System.Zip
diff --git a/Public/Kits/System.Zip/Zip.hpp b/Public/Kits/System.Zip/Zip.hpp
deleted file mode 100644
index 425d3cc8..00000000
--- a/Public/Kits/System.Zip/Zip.hpp
+++ /dev/null
@@ -1,37 +0,0 @@
-/* -------------------------------------------
-
- Copyright Mahrouss Logic
-
-------------------------------------------- */
-
-#pragma once
-
-#define Z_SOLO 1
-
-#include <CompilerKit/CompilerKit.hxx>
-#include <System.Zip/Defines.hpp>
-
-namespace System::Zip {
-class ZipStream;
-
-class ZipStream final {
- public:
- explicit ZipStream();
- ~ZipStream() noexcept;
-
- public:
- HCORE_COPY_DEFAULT(ZipStream);
-
- public:
- FilePtr FlushToFile(const char *name);
- void *Deflate(const char *name);
- void Inflate(const char *name, BYTE *data, QWORD sz);
-
- private:
- VoidPtr fSharedData{nullptr};
- SizeT fSharedSz{0};
-
-};
-} // namespace System.Zip
-
-#define kZipKitMime "application/x-bzip"
diff --git a/Public/Kits/System.Zip/compile_flags.txt b/Public/Kits/System.Zip/compile_flags.txt
deleted file mode 100644
index 6e721e73..00000000
--- a/Public/Kits/System.Zip/compile_flags.txt
+++ /dev/null
@@ -1,4 +0,0 @@
--I./
--I../
--I../../../Private
--std=c++20