1 // Copyright 2019 yuzu emulator team
2 // Licensed under GPLv2 or any later version
3 // Refer to the license.txt file included.
4 
5 #pragma once
6 
7 #include "core/hle/service/time/errors.h"
8 #include "core/hle/service/time/system_clock_context_update_callback.h"
9 #include "core/hle/service/time/time_sharedmemory.h"
10 
11 namespace Service::Time::Clock {
12 
13 class LocalSystemClockContextWriter final : public SystemClockContextUpdateCallback {
14 public:
LocalSystemClockContextWriter(SharedMemory & shared_memory)15     explicit LocalSystemClockContextWriter(SharedMemory& shared_memory)
16         : SystemClockContextUpdateCallback{}, shared_memory{shared_memory} {}
17 
18 protected:
Update()19     ResultCode Update() override {
20         shared_memory.UpdateLocalSystemClockContext(context);
21         return RESULT_SUCCESS;
22     }
23 
24 private:
25     SharedMemory& shared_memory;
26 };
27 
28 } // namespace Service::Time::Clock
29