diff --git a/bc/Process.cpp b/bc/Process.cpp new file mode 100644 index 0000000..d0e707f --- /dev/null +++ b/bc/Process.cpp @@ -0,0 +1,15 @@ +#include "bc/Process.hpp" +#include + +void Blizzard::Process::Sleep(uint32_t duration) { +#if defined(WHOA_SYSTEM_WIN) + // TODO +#elif defined(WHOA_SYSTEM_MAC) || defined(WHOA_SYSTEM_LINUX) + struct timespec request; + + request.tv_sec = 0; + request.tv_nsec = duration * 1000000; + + nanosleep(&request, nullptr); +#endif +} diff --git a/bc/Process.hpp b/bc/Process.hpp new file mode 100644 index 0000000..6a176dc --- /dev/null +++ b/bc/Process.hpp @@ -0,0 +1,15 @@ +#ifndef BC_PROCESS_HPP +#define BC_PROCESS_HPP + +#include + +namespace Blizzard { +namespace Process { + +// Functions +void Sleep(uint32_t duration); + +} // namespace Process +} // namespace Blizzard + +#endif diff --git a/test/Process.cpp b/test/Process.cpp new file mode 100644 index 0000000..165ecdb --- /dev/null +++ b/test/Process.cpp @@ -0,0 +1,9 @@ +#include "bc/Process.hpp" +#include "test/Test.hpp" + +TEST_CASE("Blizzard::Process::Sleep", "[process]") { + SECTION("sleeps") { + Blizzard::Process::Sleep(1); + SUCCEED(); + } +}