summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/KernelKit/Timer.h
diff options
context:
space:
mode:
authorAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-23 19:13:48 +0100
committerAmlal El Mahrouss <amlal.elmahrouss@icloud.com>2025-03-23 19:15:17 +0100
commita13e1c0911c0627184bc38f18c7fdda64447b3ad (patch)
tree073a62c09bf216e85a3f310376640fa1805147f9 /dev/Kernel/KernelKit/Timer.h
parent149fa096eb306d03686b3b67e813cf1a78e08cd0 (diff)
meta(kernel): Reworked repository's filesystem structure.
Removing useless parts of the project too. Signed-off-by: Amlal El Mahrouss <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/KernelKit/Timer.h')
-rw-r--r--dev/Kernel/KernelKit/Timer.h83
1 files changed, 0 insertions, 83 deletions
diff --git a/dev/Kernel/KernelKit/Timer.h b/dev/Kernel/KernelKit/Timer.h
deleted file mode 100644
index abca5352..00000000
--- a/dev/Kernel/KernelKit/Timer.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/* -------------------------------------------
-
- Copyright (C) 2024-2025, Amlal EL Mahrouss, all rights reserved.
-
-------------------------------------------- */
-
-#pragma once
-
-#include <ArchKit/ArchKit.h>
-#include <KernelKit/LPC.h>
-
-namespace NeOS
-{
- class SoftwareTimer;
- class TimerInterface;
-
- inline constexpr Int16 kTimeUnit = 1000;
-
- class TimerInterface
- {
- public:
- /// @brief Default constructor
- explicit TimerInterface() = default;
- virtual ~TimerInterface() = default;
-
- public:
- NE_COPY_DEFAULT(TimerInterface);
-
- public:
- virtual BOOL Wait() noexcept;
- };
-
- class SoftwareTimer final : public TimerInterface
- {
- public:
- explicit SoftwareTimer(Int64 seconds);
- ~SoftwareTimer() override;
-
- public:
- NE_COPY_DEFAULT(SoftwareTimer);
-
- public:
- BOOL Wait() noexcept override;
-
- private:
- IntPtr* fDigitalTimer{nullptr};
- Int64 fWaitFor{0};
- };
-
- class HardwareTimer final : public TimerInterface
- {
- public:
- explicit HardwareTimer(Int64 seconds);
- ~HardwareTimer() override;
-
- public:
- NE_COPY_DEFAULT(HardwareTimer);
-
- public:
- BOOL Wait() noexcept override;
-
- private:
- IntPtr* fDigitalTimer{nullptr};
- Int64 fWaitFor{0};
- };
-
- inline Int64 rtl_ms(Int64 time)
- {
- if (time < 0)
- return 0;
-
- // TODO: nanoseconds maybe?
- return kTimeUnit * kTimeUnit * time;
- }
-
- inline Int64 rtl_seconds(Int64 time)
- {
- if (time < 0)
- return 0;
-
- return kTimeUnit * rtl_ms(time);
- }
-} // namespace NeOS