diff options
| author | Fernando Sahmkow <fsahmkow27@gmail.com> | 2020-02-11 17:36:39 -0400 |
|---|---|---|
| committer | FernandoS27 <fsahmkow27@gmail.com> | 2020-02-11 18:47:31 -0400 |
| commit | d23d504d776007c1244a85ac1b7bb67c407067b2 (patch) | |
| tree | d6e992004bf752819084d648ca8b81fd1fc1db18 /src/core/hle/kernel/synchronization.h | |
| parent | c5aefe42aaec7afa29d317709cacc8524f7add20 (diff) | |
Kernel: Refactor synchronization to better match RE
Diffstat (limited to 'src/core/hle/kernel/synchronization.h')
| -rw-r--r-- | src/core/hle/kernel/synchronization.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/core/hle/kernel/synchronization.h b/src/core/hle/kernel/synchronization.h new file mode 100644 index 000000000..3417a9f13 --- /dev/null +++ b/src/core/hle/kernel/synchronization.h @@ -0,0 +1,34 @@ +// Copyright 2020 yuzu Emulator Project +// Licensed under GPLv2 or any later version +// Refer to the license.txt file included. + +#pragma once + +#include <memory> +#include <utility> + +#include "core/hle/kernel/object.h" +#include "core/hle/result.h" + +namespace Core { +class System; +} // namespace Core + +namespace Kernel { + +class KernelCore; +class SynchronizationObject; + +class Synchronization { +public: + Synchronization(Core::System& system); + + void SignalObject(SynchronizationObject& obj) const; + + std::pair<ResultCode, Handle> WaitFor( + std::vector<std::shared_ptr<SynchronizationObject>>& sync_objects, s64 nano_seconds); + +private: + Core::System& system; +}; +} // namespace Kernel |
