summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar Lioncash2018-07-24 02:45:23 -0400
committerGravatar Lioncash2018-07-24 06:21:27 -0400
commita61124a9e7f2a6eab7f51c2b4dd30574e62ba25a (patch)
tree776adee8f3ac1c8f29c7c210c086b8862a98677a /src
parentMerge pull request #790 from bunnei/shader-print-instr (diff)
downloadyuzu-a61124a9e7f2a6eab7f51c2b4dd30574e62ba25a.tar.gz
yuzu-a61124a9e7f2a6eab7f51c2b4dd30574e62ba25a.tar.xz
yuzu-a61124a9e7f2a6eab7f51c2b4dd30574e62ba25a.zip
time: Simplify interface creation
We can use one instance of the interface instead of duplicating code.
Diffstat (limited to 'src')
-rw-r--r--src/core/CMakeLists.txt6
-rw-r--r--src/core/hle/service/time/interface.cpp (renamed from src/core/hle/service/time/time_s.cpp)15
-rw-r--r--src/core/hle/service/time/interface.h (renamed from src/core/hle/service/time/time_s.h)4
-rw-r--r--src/core/hle/service/time/time.cpp7
-rw-r--r--src/core/hle/service/time/time_u.cpp31
-rw-r--r--src/core/hle/service/time/time_u.h16
6 files changed, 15 insertions, 64 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 6b6efbc00..028095ff9 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -235,12 +235,10 @@ add_library(core STATIC
235 hle/service/spl/spl.h 235 hle/service/spl/spl.h
236 hle/service/ssl/ssl.cpp 236 hle/service/ssl/ssl.cpp
237 hle/service/ssl/ssl.h 237 hle/service/ssl/ssl.h
238 hle/service/time/interface.cpp
239 hle/service/time/interface.h
238 hle/service/time/time.cpp 240 hle/service/time/time.cpp
239 hle/service/time/time.h 241 hle/service/time/time.h
240 hle/service/time/time_s.cpp
241 hle/service/time/time_s.h
242 hle/service/time/time_u.cpp
243 hle/service/time/time_u.h
244 hle/service/vi/vi.cpp 242 hle/service/vi/vi.cpp
245 hle/service/vi/vi.h 243 hle/service/vi/vi.h
246 hle/service/vi/vi_m.cpp 244 hle/service/vi/vi_m.cpp
diff --git a/src/core/hle/service/time/time_s.cpp b/src/core/hle/service/time/interface.cpp
index 0b599ea00..e61788db8 100644
--- a/src/core/hle/service/time/time_s.cpp
+++ b/src/core/hle/service/time/interface.cpp
@@ -2,17 +2,18 @@
2// Licensed under GPLv2 or any later version 2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included. 3// Refer to the license.txt file included.
4 4
5#include "core/hle/service/time/time_s.h" 5#include "core/hle/service/time/interface.h"
6 6
7namespace Service::Time { 7namespace Service::Time {
8 8
9TIME_S::TIME_S(std::shared_ptr<Module> time) : Module::Interface(std::move(time), "time:s") { 9TIME::TIME(std::shared_ptr<Module> time, const char* name)
10 : Module::Interface(std::move(time), name) {
10 static const FunctionInfo functions[] = { 11 static const FunctionInfo functions[] = {
11 {0, &TIME_S::GetStandardUserSystemClock, "GetStandardUserSystemClock"}, 12 {0, &TIME::GetStandardUserSystemClock, "GetStandardUserSystemClock"},
12 {1, &TIME_S::GetStandardNetworkSystemClock, "GetStandardNetworkSystemClock"}, 13 {1, &TIME::GetStandardNetworkSystemClock, "GetStandardNetworkSystemClock"},
13 {2, &TIME_S::GetStandardSteadyClock, "GetStandardSteadyClock"}, 14 {2, &TIME::GetStandardSteadyClock, "GetStandardSteadyClock"},
14 {3, &TIME_S::GetTimeZoneService, "GetTimeZoneService"}, 15 {3, &TIME::GetTimeZoneService, "GetTimeZoneService"},
15 {4, &TIME_S::GetStandardLocalSystemClock, "GetStandardLocalSystemClock"}, 16 {4, &TIME::GetStandardLocalSystemClock, "GetStandardLocalSystemClock"},
16 {5, nullptr, "GetEphemeralNetworkSystemClock"}, 17 {5, nullptr, "GetEphemeralNetworkSystemClock"},
17 {50, nullptr, "SetStandardSteadyClockInternalOffset"}, 18 {50, nullptr, "SetStandardSteadyClockInternalOffset"},
18 {100, nullptr, "IsStandardUserSystemClockAutomaticCorrectionEnabled"}, 19 {100, nullptr, "IsStandardUserSystemClockAutomaticCorrectionEnabled"},
diff --git a/src/core/hle/service/time/time_s.h b/src/core/hle/service/time/interface.h
index 4a2daa513..0f97cec35 100644
--- a/src/core/hle/service/time/time_s.h
+++ b/src/core/hle/service/time/interface.h
@@ -8,9 +8,9 @@
8 8
9namespace Service::Time { 9namespace Service::Time {
10 10
11class TIME_S final : public Module::Interface { 11class TIME final : public Module::Interface {
12public: 12public:
13 explicit TIME_S(std::shared_ptr<Module> time); 13 explicit TIME(std::shared_ptr<Module> time, const char* name);
14}; 14};
15 15
16} // namespace Service::Time 16} // namespace Service::Time
diff --git a/src/core/hle/service/time/time.cpp b/src/core/hle/service/time/time.cpp
index 507ae95f4..dbaa661bb 100644
--- a/src/core/hle/service/time/time.cpp
+++ b/src/core/hle/service/time/time.cpp
@@ -9,9 +9,8 @@
9#include "core/hle/ipc_helpers.h" 9#include "core/hle/ipc_helpers.h"
10#include "core/hle/kernel/client_port.h" 10#include "core/hle/kernel/client_port.h"
11#include "core/hle/kernel/client_session.h" 11#include "core/hle/kernel/client_session.h"
12#include "core/hle/service/time/interface.h"
12#include "core/hle/service/time/time.h" 13#include "core/hle/service/time/time.h"
13#include "core/hle/service/time/time_s.h"
14#include "core/hle/service/time/time_u.h"
15 14
16namespace Service::Time { 15namespace Service::Time {
17 16
@@ -212,8 +211,8 @@ Module::Interface::Interface(std::shared_ptr<Module> time, const char* name)
212 211
213void InstallInterfaces(SM::ServiceManager& service_manager) { 212void InstallInterfaces(SM::ServiceManager& service_manager) {
214 auto time = std::make_shared<Module>(); 213 auto time = std::make_shared<Module>();
215 std::make_shared<TIME_S>(time)->InstallAsService(service_manager); 214 std::make_shared<TIME>(time, "time:s")->InstallAsService(service_manager);
216 std::make_shared<TIME_U>(time)->InstallAsService(service_manager); 215 std::make_shared<TIME>(time, "time:u")->InstallAsService(service_manager);
217} 216}
218 217
219} // namespace Service::Time 218} // namespace Service::Time
diff --git a/src/core/hle/service/time/time_u.cpp b/src/core/hle/service/time/time_u.cpp
deleted file mode 100644
index 1ed42c419..000000000
--- a/src/core/hle/service/time/time_u.cpp
+++ /dev/null
@@ -1,31 +0,0 @@
1// Copyright 2018 yuzu emulator team
2// Licensed under GPLv2 or any later version
3// Refer to the license.txt file included.
4
5#include "core/hle/service/time/time_u.h"
6
7namespace Service::Time {
8
9TIME_U::TIME_U(std::shared_ptr<Module> time) : Module::Interface(std::move(time), "time:u") {
10 static const FunctionInfo functions[] = {
11 {0, &TIME_U::GetStandardUserSystemClock, "GetStandardUserSystemClock"},
12 {1, &TIME_U::GetStandardNetworkSystemClock, "GetStandardNetworkSystemClock"},
13 {2, &TIME_U::GetStandardSteadyClock, "GetStandardSteadyClock"},
14 {3, &TIME_U::GetTimeZoneService, "GetTimeZoneService"},
15 {4, &TIME_U::GetStandardLocalSystemClock, "GetStandardLocalSystemClock"},
16 {5, nullptr, "GetEphemeralNetworkSystemClock"},
17 {50, nullptr, "SetStandardSteadyClockInternalOffset"},
18 {100, nullptr, "IsStandardUserSystemClockAutomaticCorrectionEnabled"},
19 {101, nullptr, "SetStandardUserSystemClockAutomaticCorrectionEnabled"},
20 {102, nullptr, "GetStandardUserSystemClockInitialYear"},
21 {200, nullptr, "IsStandardNetworkSystemClockAccuracySufficient"},
22 {300, nullptr, "CalculateMonotonicSystemClockBaseTimePoint"},
23 {400, nullptr, "GetClockSnapshot"},
24 {401, nullptr, "GetClockSnapshotFromSystemClockContext"},
25 {500, nullptr, "CalculateStandardUserSystemClockDifferenceByUser"},
26 {501, nullptr, "CalculateSpanBetween"},
27 };
28 RegisterHandlers(functions);
29}
30
31} // namespace Service::Time
diff --git a/src/core/hle/service/time/time_u.h b/src/core/hle/service/time/time_u.h
deleted file mode 100644
index 3724bcdc7..000000000
--- a/src/core/hle/service/time/time_u.h
+++ /dev/null
@@ -1,16 +0,0 @@
1// Copyright 2018 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/time.h"
8
9namespace Service::Time {
10
11class TIME_U final : public Module::Interface {
12public:
13 explicit TIME_U(std::shared_ptr<Module> time);
14};
15
16} // namespace Service::Time