From 15ae6ab14c6c5d6f613b55ad65b0da6e1914bf95 Mon Sep 17 00:00:00 2001 From: Reece Date: Sat, 2 Oct 2021 11:28:49 +0100 Subject: [PATCH] [+] Added file structure for the loop source subsystem --- Include/Aurora/Loop/Loop.hpp | 2 ++ Source/Async/AsyncApp.cpp | 2 -- Source/Loop/GenericWaitable.cpp | 15 +++++++++++++++ Source/Loop/GenericWaitable.hpp | 13 +++++++++++++ Source/Loop/LSCondition.cpp | 14 ++++++++++++++ Source/Loop/LSCondition.hpp | 13 +++++++++++++ Source/Loop/LSCoreFoundation.Apple.cpp | 9 +++++++++ Source/Loop/LSCoreFoundation.Apple.hpp | 13 +++++++++++++ Source/Loop/LSEvent.Generic.cpp | 18 ++++++++++++++++++ Source/Loop/LSEvent.Generic.hpp | 13 +++++++++++++ Source/Loop/LSEvent.NT.cpp | 14 ++++++++++++++ Source/Loop/LSEvent.NT.hpp | 13 +++++++++++++ Source/Loop/LSEvent.hpp | 16 ++++++++++++++++ Source/Loop/LSHandle.cpp | 14 ++++++++++++++ Source/Loop/LSHandle.hpp | 13 +++++++++++++ Source/Loop/LSMutex.Generic.cpp | 18 ++++++++++++++++++ Source/Loop/LSMutex.Generic.hpp | 13 +++++++++++++ Source/Loop/LSMutex.Linux.cpp | 14 ++++++++++++++ Source/Loop/LSMutex.Linux.hpp | 13 +++++++++++++ Source/Loop/LSMutex.NT.cpp | 14 ++++++++++++++ Source/Loop/LSMutex.NT.hpp | 13 +++++++++++++ Source/Loop/LSMutex.hpp | 17 +++++++++++++++++ Source/Loop/LSSemaphore.Generic.cpp | 18 ++++++++++++++++++ Source/Loop/LSSemaphore.Generic.hpp | 13 +++++++++++++ Source/Loop/LSSemaphore.Linux.cpp | 14 ++++++++++++++ Source/Loop/LSSemaphore.Linux.hpp | 6 ++++++ Source/Loop/LSSemaphore.NT.cpp | 14 ++++++++++++++ Source/Loop/LSSemaphore.NT.hpp | 13 +++++++++++++ Source/Loop/LSSemaphore.hpp | 18 ++++++++++++++++++ Source/Loop/LSTimer.Generic.cpp | 18 ++++++++++++++++++ Source/Loop/LSTimer.Generic.hpp | 13 +++++++++++++ Source/Loop/LSTimer.Linux.cpp | 14 ++++++++++++++ Source/Loop/LSTimer.Linux.hpp | 6 ++++++ Source/Loop/LSTimer.NT.cpp | 14 ++++++++++++++ Source/Loop/LSTimer.NT.hpp | 13 +++++++++++++ Source/Loop/LSTimer.hpp | 11 +++++++++++ Source/Loop/LSWin32.NT.cpp | 14 ++++++++++++++ Source/Loop/LSWin32.NT.hpp | 13 +++++++++++++ Source/Loop/Loop.NT.cpp | 14 ++++++++++++++ Source/Loop/Loop.NT.hpp | 13 +++++++++++++ Source/Loop/Loop.Unix.cpp | 14 ++++++++++++++ Source/Loop/Loop.Unix.hpp | 13 +++++++++++++ Source/Loop/Loop.cpp | 20 ++++++++++++++++++++ Source/Loop/Loop.hpp | 13 +++++++++++++ readme.txt | 8 +++++--- 45 files changed, 586 insertions(+), 5 deletions(-) create mode 100644 Source/Loop/GenericWaitable.cpp create mode 100644 Source/Loop/GenericWaitable.hpp create mode 100644 Source/Loop/LSCondition.cpp create mode 100644 Source/Loop/LSCondition.hpp create mode 100644 Source/Loop/LSCoreFoundation.Apple.cpp create mode 100644 Source/Loop/LSCoreFoundation.Apple.hpp create mode 100644 Source/Loop/LSEvent.Generic.cpp create mode 100644 Source/Loop/LSEvent.Generic.hpp create mode 100644 Source/Loop/LSEvent.NT.cpp create mode 100644 Source/Loop/LSEvent.NT.hpp create mode 100644 Source/Loop/LSEvent.hpp create mode 100644 Source/Loop/LSHandle.cpp create mode 100644 Source/Loop/LSHandle.hpp create mode 100644 Source/Loop/LSMutex.Generic.cpp create mode 100644 Source/Loop/LSMutex.Generic.hpp create mode 100644 Source/Loop/LSMutex.Linux.cpp create mode 100644 Source/Loop/LSMutex.Linux.hpp create mode 100644 Source/Loop/LSMutex.NT.cpp create mode 100644 Source/Loop/LSMutex.NT.hpp create mode 100644 Source/Loop/LSMutex.hpp create mode 100644 Source/Loop/LSSemaphore.Generic.cpp create mode 100644 Source/Loop/LSSemaphore.Generic.hpp create mode 100644 Source/Loop/LSSemaphore.Linux.cpp create mode 100644 Source/Loop/LSSemaphore.Linux.hpp create mode 100644 Source/Loop/LSSemaphore.NT.cpp create mode 100644 Source/Loop/LSSemaphore.NT.hpp create mode 100644 Source/Loop/LSSemaphore.hpp create mode 100644 Source/Loop/LSTimer.Generic.cpp create mode 100644 Source/Loop/LSTimer.Generic.hpp create mode 100644 Source/Loop/LSTimer.Linux.cpp create mode 100644 Source/Loop/LSTimer.Linux.hpp create mode 100644 Source/Loop/LSTimer.NT.cpp create mode 100644 Source/Loop/LSTimer.NT.hpp create mode 100644 Source/Loop/LSTimer.hpp create mode 100644 Source/Loop/LSWin32.NT.cpp create mode 100644 Source/Loop/LSWin32.NT.hpp create mode 100644 Source/Loop/Loop.NT.cpp create mode 100644 Source/Loop/Loop.NT.hpp create mode 100644 Source/Loop/Loop.Unix.cpp create mode 100644 Source/Loop/Loop.Unix.hpp diff --git a/Include/Aurora/Loop/Loop.hpp b/Include/Aurora/Loop/Loop.hpp index 4eb0dce9..8a3f5b60 100644 --- a/Include/Aurora/Loop/Loop.hpp +++ b/Include/Aurora/Loop/Loop.hpp @@ -101,6 +101,7 @@ namespace Aurora::Loop #if defined(AURORA_IS_POSIX_DERIVED) static AuSPtr NewLSFd(int fd) { + if (fd > 0) return {}; return NewLSOSHandle(fd); } #endif @@ -108,6 +109,7 @@ namespace Aurora::Loop #if defined(AURORA_IS_MODERNNT_DERIVED) static AuSPtr NewLSHandle(HANDLE handle) { + if (handle == INVALID_HANDLE_VALUE) return {}; return NewLSOSHandle(reinterpret_cast(handle)); } #endif diff --git a/Source/Async/AsyncApp.cpp b/Source/Async/AsyncApp.cpp index bec480c4..0b10aa24 100644 --- a/Source/Async/AsyncApp.cpp +++ b/Source/Async/AsyncApp.cpp @@ -500,8 +500,6 @@ namespace Aurora::Async runningTasks = gRunningTasks.fetch_sub(1) - 1; } - // - // Return popped work back to the groups work pool when our -pump loops were preempted if (state->pendingWorkItems.size()) { diff --git a/Source/Loop/GenericWaitable.cpp b/Source/Loop/GenericWaitable.cpp new file mode 100644 index 00000000..7bb402ec --- /dev/null +++ b/Source/Loop/GenericWaitable.cpp @@ -0,0 +1,15 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: GenericWaitable.cpp + Date: 2021-10-2 + Author: Reece +***/ +#pragma once +#include +#include "GenericWaitable.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/GenericWaitable.hpp b/Source/Loop/GenericWaitable.hpp new file mode 100644 index 00000000..abf180ce --- /dev/null +++ b/Source/Loop/GenericWaitable.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: GenericWaitable.hpp + Date: 2021-10-2 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSCondition.cpp b/Source/Loop/LSCondition.cpp new file mode 100644 index 00000000..0486832c --- /dev/null +++ b/Source/Loop/LSCondition.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSCondition.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSCondition.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSCondition.hpp b/Source/Loop/LSCondition.hpp new file mode 100644 index 00000000..9f879479 --- /dev/null +++ b/Source/Loop/LSCondition.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSCondition.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSCoreFoundation.Apple.cpp b/Source/Loop/LSCoreFoundation.Apple.cpp new file mode 100644 index 00000000..1e1b93be --- /dev/null +++ b/Source/Loop/LSCoreFoundation.Apple.cpp @@ -0,0 +1,9 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSCoreFoundation.Apple.cpp + Date: 2021-10-2 + Author: Reece +***/ +#include +#include "LSCoreFoundation.Apple.hpp" diff --git a/Source/Loop/LSCoreFoundation.Apple.hpp b/Source/Loop/LSCoreFoundation.Apple.hpp new file mode 100644 index 00000000..718cb7db --- /dev/null +++ b/Source/Loop/LSCoreFoundation.Apple.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSCoreFoundation.Apple.hpp + Date: 2021-10-2 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSEvent.Generic.cpp b/Source/Loop/LSEvent.Generic.cpp new file mode 100644 index 00000000..71a973c5 --- /dev/null +++ b/Source/Loop/LSEvent.Generic.cpp @@ -0,0 +1,18 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSEvent.Generic.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSEvent.hpp" + +#if defined(IMPL_LS_EVENT_GEN) + +namespace Aurora::Loop +{ + +} + +#endif \ No newline at end of file diff --git a/Source/Loop/LSEvent.Generic.hpp b/Source/Loop/LSEvent.Generic.hpp new file mode 100644 index 00000000..891a52c9 --- /dev/null +++ b/Source/Loop/LSEvent.Generic.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSEvent.Generic.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSEvent.NT.cpp b/Source/Loop/LSEvent.NT.cpp new file mode 100644 index 00000000..86050bd0 --- /dev/null +++ b/Source/Loop/LSEvent.NT.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSEvent.NT.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSEvent.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSEvent.NT.hpp b/Source/Loop/LSEvent.NT.hpp new file mode 100644 index 00000000..9b83d0d2 --- /dev/null +++ b/Source/Loop/LSEvent.NT.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSEvent.NT.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSEvent.hpp b/Source/Loop/LSEvent.hpp new file mode 100644 index 00000000..78db53aa --- /dev/null +++ b/Source/Loop/LSEvent.hpp @@ -0,0 +1,16 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSEvent.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +#if defined(AURORA_IS_MODERNNT_DERIVED) + #include "LSEvent.NT.hpp" +// eventfd always atomically resets +#else + #define IMPL_LS_EVENT_GEN + #include "LSEvent.Generic.hpp" +#endif \ No newline at end of file diff --git a/Source/Loop/LSHandle.cpp b/Source/Loop/LSHandle.cpp new file mode 100644 index 00000000..cbb4299d --- /dev/null +++ b/Source/Loop/LSHandle.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSHandle.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSHandle.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSHandle.hpp b/Source/Loop/LSHandle.hpp new file mode 100644 index 00000000..9f0616dd --- /dev/null +++ b/Source/Loop/LSHandle.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSHandle.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSMutex.Generic.cpp b/Source/Loop/LSMutex.Generic.cpp new file mode 100644 index 00000000..ea798a97 --- /dev/null +++ b/Source/Loop/LSMutex.Generic.cpp @@ -0,0 +1,18 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.Generic.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSMutex.hpp" + +#if defined(IMPL_LS_MUTEX_GEN) + +namespace Aurora::Loop +{ + +} + +#endif \ No newline at end of file diff --git a/Source/Loop/LSMutex.Generic.hpp b/Source/Loop/LSMutex.Generic.hpp new file mode 100644 index 00000000..8ebaa0c4 --- /dev/null +++ b/Source/Loop/LSMutex.Generic.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.Generic.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSMutex.Linux.cpp b/Source/Loop/LSMutex.Linux.cpp new file mode 100644 index 00000000..ba7f0c2c --- /dev/null +++ b/Source/Loop/LSMutex.Linux.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.Linux.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSMutex.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSMutex.Linux.hpp b/Source/Loop/LSMutex.Linux.hpp new file mode 100644 index 00000000..ae2341e3 --- /dev/null +++ b/Source/Loop/LSMutex.Linux.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.Linux.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSMutex.NT.cpp b/Source/Loop/LSMutex.NT.cpp new file mode 100644 index 00000000..fd083ae4 --- /dev/null +++ b/Source/Loop/LSMutex.NT.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.NT.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSMutex.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSMutex.NT.hpp b/Source/Loop/LSMutex.NT.hpp new file mode 100644 index 00000000..64ee5e1c --- /dev/null +++ b/Source/Loop/LSMutex.NT.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.NT.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSMutex.hpp b/Source/Loop/LSMutex.hpp new file mode 100644 index 00000000..401b65c0 --- /dev/null +++ b/Source/Loop/LSMutex.hpp @@ -0,0 +1,17 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSMutex.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +#if defined(AURORA_IS_MODERNNT_DERIVED) + #include "LSMutex.NT.hpp" +#elif defined(AURORA_IS_LINUX_DERIVED) + #include "LSMutex.Linux.hpp" +#else + #define IMPL_LS_MUTEX_GEN + #include "LSMutex.Generic.hpp" +#endif \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.Generic.cpp b/Source/Loop/LSSemaphore.Generic.cpp new file mode 100644 index 00000000..42377df3 --- /dev/null +++ b/Source/Loop/LSSemaphore.Generic.cpp @@ -0,0 +1,18 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSSemaphore.Generic.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSSemaphore.hpp" + +#if defined(IMPL_LS_SEM_GEN) + +namespace Aurora::Loop +{ + +} + +#endif \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.Generic.hpp b/Source/Loop/LSSemaphore.Generic.hpp new file mode 100644 index 00000000..a2717b30 --- /dev/null +++ b/Source/Loop/LSSemaphore.Generic.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSSemaphore.Generic.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.Linux.cpp b/Source/Loop/LSSemaphore.Linux.cpp new file mode 100644 index 00000000..874df883 --- /dev/null +++ b/Source/Loop/LSSemaphore.Linux.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSSemaphore.Linux.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSSemaphore.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.Linux.hpp b/Source/Loop/LSSemaphore.Linux.hpp new file mode 100644 index 00000000..af8d32e2 --- /dev/null +++ b/Source/Loop/LSSemaphore.Linux.hpp @@ -0,0 +1,6 @@ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.NT.cpp b/Source/Loop/LSSemaphore.NT.cpp new file mode 100644 index 00000000..88988b5f --- /dev/null +++ b/Source/Loop/LSSemaphore.NT.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSSemaphore.NT.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSSemaphore.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.NT.hpp b/Source/Loop/LSSemaphore.NT.hpp new file mode 100644 index 00000000..456e9663 --- /dev/null +++ b/Source/Loop/LSSemaphore.NT.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSSemaphore.NT.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSSemaphore.hpp b/Source/Loop/LSSemaphore.hpp new file mode 100644 index 00000000..2dbb13c7 --- /dev/null +++ b/Source/Loop/LSSemaphore.hpp @@ -0,0 +1,18 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSSemaphore.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + + +#if defined(AURORA_IS_MODERNNT_DERIVED) + #include "LSSemaphore.NT.hpp" +#elif defined(AURORA_IS_LINUX_DERIVED) + #include "LSSemaphore.Linux.hpp" +#else + #define IMPL_LS_SEM_GEN + #include "LSSemaphore.Generic.hpp" +#endif \ No newline at end of file diff --git a/Source/Loop/LSTimer.Generic.cpp b/Source/Loop/LSTimer.Generic.cpp new file mode 100644 index 00000000..0436b4cc --- /dev/null +++ b/Source/Loop/LSTimer.Generic.cpp @@ -0,0 +1,18 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSTimer.Generic.cpp + Date: 2021-10-2 + Author: Reece +***/ +#include +#include "LSTimer.hpp" + +#if defined(IMPL_LS_TIMER_GEN) + +namespace Aurora::Loop +{ + +} + +#endif \ No newline at end of file diff --git a/Source/Loop/LSTimer.Generic.hpp b/Source/Loop/LSTimer.Generic.hpp new file mode 100644 index 00000000..62750ada --- /dev/null +++ b/Source/Loop/LSTimer.Generic.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSTimer.Generic.hpp + Date: 2021-10-2 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSTimer.Linux.cpp b/Source/Loop/LSTimer.Linux.cpp new file mode 100644 index 00000000..6fbbaf86 --- /dev/null +++ b/Source/Loop/LSTimer.Linux.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSTimer.Linux.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSTimer.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSTimer.Linux.hpp b/Source/Loop/LSTimer.Linux.hpp new file mode 100644 index 00000000..af8d32e2 --- /dev/null +++ b/Source/Loop/LSTimer.Linux.hpp @@ -0,0 +1,6 @@ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSTimer.NT.cpp b/Source/Loop/LSTimer.NT.cpp new file mode 100644 index 00000000..52f03e5c --- /dev/null +++ b/Source/Loop/LSTimer.NT.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSTimer.NT.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "LSTimer.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSTimer.NT.hpp b/Source/Loop/LSTimer.NT.hpp new file mode 100644 index 00000000..34cef12d --- /dev/null +++ b/Source/Loop/LSTimer.NT.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSTimer.NT.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSTimer.hpp b/Source/Loop/LSTimer.hpp new file mode 100644 index 00000000..248c2ff6 --- /dev/null +++ b/Source/Loop/LSTimer.hpp @@ -0,0 +1,11 @@ +#pragma once + + +#if defined(AURORA_IS_MODERNNT_DERIVED) + #include "LSTimer.NT.hpp" +#elif defined(AURORA_IS_LINUX_DERIVED) + #include "LSTimer.Linux.hpp" +#else + #define IMPL_LS_TIMER_GEN + #include "LSTimer.Generic.hpp" +#endif \ No newline at end of file diff --git a/Source/Loop/LSWin32.NT.cpp b/Source/Loop/LSWin32.NT.cpp new file mode 100644 index 00000000..a906781e --- /dev/null +++ b/Source/Loop/LSWin32.NT.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSWin32.NT.cpp + Date: 2021-10-2 + Author: Reece +***/ +#include +#include "LSWin32.NT.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/LSWin32.NT.hpp b/Source/Loop/LSWin32.NT.hpp new file mode 100644 index 00000000..a73cf17e --- /dev/null +++ b/Source/Loop/LSWin32.NT.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: LSWin32.NT.hpp + Date: 2021-10-2 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/Loop.NT.cpp b/Source/Loop/Loop.NT.cpp new file mode 100644 index 00000000..a6d3c51f --- /dev/null +++ b/Source/Loop/Loop.NT.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: Loop.NT.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "Loop.NT.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/Loop.NT.hpp b/Source/Loop/Loop.NT.hpp new file mode 100644 index 00000000..58b54a41 --- /dev/null +++ b/Source/Loop/Loop.NT.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: Loop.NT.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/Loop.Unix.cpp b/Source/Loop/Loop.Unix.cpp new file mode 100644 index 00000000..bafb6945 --- /dev/null +++ b/Source/Loop/Loop.Unix.cpp @@ -0,0 +1,14 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: Loop.Unix.cpp + Date: 2021-10-1 + Author: Reece +***/ +#include +#include "Loop.Unix.hpp" + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/Loop.Unix.hpp b/Source/Loop/Loop.Unix.hpp new file mode 100644 index 00000000..cc309586 --- /dev/null +++ b/Source/Loop/Loop.Unix.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: Loop.Unix.hpp + Date: 2021-10-1 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/Source/Loop/Loop.cpp b/Source/Loop/Loop.cpp index e69de29b..dd224793 100644 --- a/Source/Loop/Loop.cpp +++ b/Source/Loop/Loop.cpp @@ -0,0 +1,20 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: Loop.cpp + Date: 2021-9-21 + Author: Reece +***/ +#include +#include "Loop.hpp" + +namespace Aurora::Loop +{ +#if !defined(AURORA_IS_MODERNNT_DERIVED) + +#endif + +#if !defined(AURORA_IS_XNU_DERIVED) + +#endif +} \ No newline at end of file diff --git a/Source/Loop/Loop.hpp b/Source/Loop/Loop.hpp index e69de29b..e10adf56 100644 --- a/Source/Loop/Loop.hpp +++ b/Source/Loop/Loop.hpp @@ -0,0 +1,13 @@ +/*** + Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. + + File: Loop.hpp + Date: 2021-9-21 + Author: Reece +***/ +#pragma once + +namespace Aurora::Loop +{ + +} \ No newline at end of file diff --git a/readme.txt b/readme.txt index 2a120dc8..7efc2df9 100644 --- a/readme.txt +++ b/readme.txt @@ -198,7 +198,8 @@ system configuration, the unix locale env variable, and/or the provided overload - Use AuXXX type bindings for std types, allow customers to overload the std namespace -- Dependencies should be added conservatively when appropriate +- Keep the code and build chain simple such that any C++ developer could maintain + their own software stack built around aurora components. - Dependencies should be cross-platform friendly It is recommended to fork and replace any legacy OS specific code with equivalent @@ -214,8 +215,9 @@ system configuration, the unix locale env variable, and/or the provided overload everything a conservative developer cares about; chinese, utf-16, utf-8, utf-32 conversion, on top of all the ancient windows codepages -- Dependencies should only be added when it saves development time and adds production - hardening + +- Dependencies should only be added conservatively when it saves development time and + provides production hardening Examples: -> Use embedded crypto libraries; libtomcrypt, libtommath -> While there are some bugs in libtomcrypt and others, none appear to cryptographically cripple the library. Could you do better?