summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar mailwl2018-03-02 11:49:35 +0300
committerGravatar mailwl2018-03-03 09:03:49 +0300
commit28669872d93ae726c3f97f6e9ac8da984e313646 (patch)
tree46b17dc2c96a5b031dfd841ad8d7bf27057c42c8 /src/core
parentMerge pull request #216 from Subv/savedata (diff)
downloadyuzu-28669872d93ae726c3f97f6e9ac8da984e313646.tar.gz
yuzu-28669872d93ae726c3f97f6e9ac8da984e313646.tar.xz
yuzu-28669872d93ae726c3f97f6e9ac8da984e313646.zip
Service/Set: add more services
Diffstat (limited to 'src/core')
-rw-r--r--src/core/CMakeLists.txt8
-rw-r--r--src/core/hle/service/service.cpp2
-rw-r--r--src/core/hle/service/set/set.cpp13
-rw-r--r--src/core/hle/service/set/set.h5
-rw-r--r--src/core/hle/service/set/set_cal.cpp40
-rw-r--r--src/core/hle/service/set/set_cal.h19
-rw-r--r--src/core/hle/service/set/set_fd.cpp25
-rw-r--r--src/core/hle/service/set/set_fd.h19
-rw-r--r--src/core/hle/service/set/set_sys.cpp167
-rw-r--r--src/core/hle/service/set/set_sys.h22
-rw-r--r--src/core/hle/service/set/settings.cpp22
-rw-r--r--src/core/hle/service/set/settings.h16
12 files changed, 348 insertions, 10 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 6ad04d19d..faaa50e4d 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -169,6 +169,14 @@ add_library(core STATIC
169 hle/service/service.h 169 hle/service/service.h
170 hle/service/set/set.cpp 170 hle/service/set/set.cpp
171 hle/service/set/set.h 171 hle/service/set/set.h
172 hle/service/set/set_cal.cpp
173 hle/service/set/set_cal.h
174 hle/service/set/set_fd.cpp
175 hle/service/set/set_fd.h
176 hle/service/set/set_sys.cpp
177 hle/service/set/set_sys.h
178 hle/service/set/settings.cpp
179 hle/service/set/settings.h
172 hle/service/sm/controller.cpp 180 hle/service/sm/controller.cpp
173 hle/service/sm/controller.h 181 hle/service/sm/controller.h
174 hle/service/sm/sm.cpp 182 hle/service/sm/sm.cpp
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 6a2d6a4ef..78380475c 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -28,7 +28,7 @@
28#include "core/hle/service/nvdrv/nvdrv.h" 28#include "core/hle/service/nvdrv/nvdrv.h"
29#include "core/hle/service/pctl/pctl.h" 29#include "core/hle/service/pctl/pctl.h"
30#include "core/hle/service/service.h" 30#include "core/hle/service/service.h"
31#include "core/hle/service/set/set.h" 31#include "core/hle/service/set/settings.h"
32#include "core/hle/service/sm/controller.h" 32#include "core/hle/service/sm/controller.h"
33#include "core/hle/service/sm/sm.h" 33#include "core/hle/service/sm/sm.h"
34#include "core/hle/service/sockets/sockets.h" 34#include "core/hle/service/sockets/sockets.h"
diff --git a/src/core/hle/service/set/set.cpp b/src/core/hle/service/set/set.cpp
index 3001ee411..aa7c924e7 100644
--- a/src/core/hle/service/set/set.cpp
+++ b/src/core/hle/service/set/set.cpp
@@ -26,16 +26,19 @@ void SET::GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx) {
26 LOG_WARNING(Service_SET, "(STUBBED) called"); 26 LOG_WARNING(Service_SET, "(STUBBED) called");
27} 27}
28 28
29SET::SET(const char* name) : ServiceFramework(name) { 29SET::SET() : ServiceFramework("set") {
30 static const FunctionInfo functions[] = { 30 static const FunctionInfo functions[] = {
31 {0, nullptr, "GetLanguageCode"},
31 {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"}, 32 {1, &SET::GetAvailableLanguageCodes, "GetAvailableLanguageCodes"},
33 {2, nullptr, "MakeLanguageCode"},
34 {3, nullptr, "GetAvailableLanguageCodeCount"},
35 {4, nullptr, "GetRegionCode"},
36 {5, nullptr, "GetAvailableLanguageCodes2"},
37 {6, nullptr, "GetAvailableLanguageCodeCount2"},
38 {7, nullptr, "GetKeyCodeMap"},
32 }; 39 };
33 RegisterHandlers(functions); 40 RegisterHandlers(functions);
34} 41}
35 42
36void InstallInterfaces(SM::ServiceManager& service_manager) {
37 std::make_shared<SET>("set")->InstallAsService(service_manager);
38}
39
40} // namespace Set 43} // namespace Set
41} // namespace Service 44} // namespace Service
diff --git a/src/core/hle/service/set/set.h b/src/core/hle/service/set/set.h
index 61e957946..7b7814ed1 100644
--- a/src/core/hle/service/set/set.h
+++ b/src/core/hle/service/set/set.h
@@ -11,15 +11,12 @@ namespace Set {
11 11
12class SET final : public ServiceFramework<SET> { 12class SET final : public ServiceFramework<SET> {
13public: 13public:
14 explicit SET(const char* name); 14 explicit SET();
15 ~SET() = default; 15 ~SET() = default;
16 16
17private: 17private:
18 void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx); 18 void GetAvailableLanguageCodes(Kernel::HLERequestContext& ctx);
19}; 19};
20 20
21/// Registers all Set services with the specified service manager.
22void InstallInterfaces(SM::ServiceManager& service_manager);
23
24} // namespace Set 21} // namespace Set
25} // namespace Service 22} // namespace Service
diff --git a/src/core/hle/service/set/set_cal.cpp b/src/core/hle/service/set/set_cal.cpp
new file mode 100644
index 000000000..6231acd96
--- /dev/null
+++ b/src/core/hle/service/set/set_cal.cpp
@@ -0,0 +1,40 @@
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/set/set_cal.h"
6
7namespace Service {
8namespace Set {
9
10SET_CAL::SET_CAL() : ServiceFramework("set:cal") {
11 static const FunctionInfo functions[] = {
12 {0, nullptr, "GetBluetoothBdAddress"},
13 {1, nullptr, "GetConfigurationId1"},
14 {2, nullptr, "GetAccelerometerOffset"},
15 {3, nullptr, "GetAccelerometerScale"},
16 {4, nullptr, "GetGyroscopeOffset"},
17 {5, nullptr, "GetGyroscopeScale"},
18 {6, nullptr, "GetWirelessLanMacAddress"},
19 {7, nullptr, "GetWirelessLanCountryCodeCount"},
20 {8, nullptr, "GetWirelessLanCountryCodes"},
21 {9, nullptr, "GetSerialNumber"},
22 {10, nullptr, "SetInitialSystemAppletProgramId"},
23 {11, nullptr, "SetOverlayDispProgramId"},
24 {12, nullptr, "GetBatteryLot"},
25 {14, nullptr, "GetEciDeviceCertificate"},
26 {15, nullptr, "GetEticketDeviceCertificate"},
27 {16, nullptr, "GetSslKey"},
28 {17, nullptr, "GetSslCertificate"},
29 {18, nullptr, "GetGameCardKey"},
30 {19, nullptr, "GetGameCardCertificate"},
31 {20, nullptr, "GetEciDeviceKey"},
32 {21, nullptr, "GetEticketDeviceKey"},
33 {22, nullptr, "GetSpeakerParameter"},
34 {23, nullptr, "GetLcdVendorId"},
35 };
36 RegisterHandlers(functions);
37}
38
39} // namespace Set
40} // namespace Service
diff --git a/src/core/hle/service/set/set_cal.h b/src/core/hle/service/set/set_cal.h
new file mode 100644
index 000000000..9c0b851d0
--- /dev/null
+++ b/src/core/hle/service/set/set_cal.h
@@ -0,0 +1,19 @@
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/service.h"
8
9namespace Service {
10namespace Set {
11
12class SET_CAL final : public ServiceFramework<SET_CAL> {
13public:
14 explicit SET_CAL();
15 ~SET_CAL() = default;
16};
17
18} // namespace Set
19} // namespace Service
diff --git a/src/core/hle/service/set/set_fd.cpp b/src/core/hle/service/set/set_fd.cpp
new file mode 100644
index 000000000..8320d4250
--- /dev/null
+++ b/src/core/hle/service/set/set_fd.cpp
@@ -0,0 +1,25 @@
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/set/set_fd.h"
6
7namespace Service {
8namespace Set {
9
10SET_FD::SET_FD() : ServiceFramework("set:fd") {
11 static const FunctionInfo functions[] = {
12 {2, nullptr, "SetSettingsItemValue"},
13 {3, nullptr, "ResetSettingsItemValue"},
14 {4, nullptr, "CreateSettingsItemKeyIterator"},
15 {10, nullptr, "ReadSettings"},
16 {11, nullptr, "ResetSettings"},
17 {20, nullptr, "SetWebInspectorFlag"},
18 {21, nullptr, "SetAllowedSslHosts"},
19 {22, nullptr, "SetHostFsMountPoint"},
20 };
21 RegisterHandlers(functions);
22}
23
24} // namespace Set
25} // namespace Service
diff --git a/src/core/hle/service/set/set_fd.h b/src/core/hle/service/set/set_fd.h
new file mode 100644
index 000000000..65b36bcb3
--- /dev/null
+++ b/src/core/hle/service/set/set_fd.h
@@ -0,0 +1,19 @@
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/service.h"
8
9namespace Service {
10namespace Set {
11
12class SET_FD final : public ServiceFramework<SET_FD> {
13public:
14 explicit SET_FD();
15 ~SET_FD() = default;
16};
17
18} // namespace Set
19} // namespace Service
diff --git a/src/core/hle/service/set/set_sys.cpp b/src/core/hle/service/set/set_sys.cpp
new file mode 100644
index 000000000..363abd10a
--- /dev/null
+++ b/src/core/hle/service/set/set_sys.cpp
@@ -0,0 +1,167 @@
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 "common/logging/log.h"
6#include "core/hle/ipc_helpers.h"
7#include "core/hle/kernel/client_port.h"
8#include "core/hle/service/set/set_sys.h"
9
10namespace Service {
11namespace Set {
12
13void SET_SYS::GetColorSetId(Kernel::HLERequestContext& ctx) {
14
15 IPC::ResponseBuilder rb{ctx, 3};
16
17 rb.Push(RESULT_SUCCESS);
18 rb.Push<u32>(0);
19
20 LOG_WARNING(Service_SET, "(STUBBED) called");
21}
22
23SET_SYS::SET_SYS() : ServiceFramework("set:sys") {
24 static const FunctionInfo functions[] = {
25 {0, nullptr, "SetLanguageCode"},
26 {1, nullptr, "SetNetworkSettings"},
27 {2, nullptr, "GetNetworkSettings"},
28 {3, nullptr, "GetFirmwareVersion"},
29 {4, nullptr, "GetFirmwareVersion2"},
30 {7, nullptr, "GetLockScreenFlag"},
31 {8, nullptr, "SetLockScreenFlag"},
32 {9, nullptr, "GetBacklightSettings"},
33 {10, nullptr, "SetBacklightSettings"},
34 {11, nullptr, "SetBluetoothDevicesSettings"},
35 {12, nullptr, "GetBluetoothDevicesSettings"},
36 {13, nullptr, "GetExternalSteadyClockSourceId"},
37 {14, nullptr, "SetExternalSteadyClockSourceId"},
38 {15, nullptr, "GetUserSystemClockContext"},
39 {16, nullptr, "SetUserSystemClockContext"},
40 {17, nullptr, "GetAccountSettings"},
41 {18, nullptr, "SetAccountSettings"},
42 {19, nullptr, "GetAudioVolume"},
43 {20, nullptr, "SetAudioVolume"},
44 {21, nullptr, "GetEulaVersions"},
45 {22, nullptr, "SetEulaVersions"},
46 {23, &SET_SYS::GetColorSetId, "GetColorSetId"},
47 {24, nullptr, "SetColorSetId"},
48 {25, nullptr, "GetConsoleInformationUploadFlag"},
49 {26, nullptr, "SetConsoleInformationUploadFlag"},
50 {27, nullptr, "GetAutomaticApplicationDownloadFlag"},
51 {28, nullptr, "SetAutomaticApplicationDownloadFlag"},
52 {29, nullptr, "GetNotificationSettings"},
53 {30, nullptr, "SetNotificationSettings"},
54 {31, nullptr, "GetAccountNotificationSettings"},
55 {32, nullptr, "SetAccountNotificationSettings"},
56 {35, nullptr, "GetVibrationMasterVolume"},
57 {36, nullptr, "SetVibrationMasterVolume"},
58 {37, nullptr, "GetSettingsItemValueSize"},
59 {38, nullptr, "GetSettingsItemValue"},
60 {39, nullptr, "GetTvSettings"},
61 {40, nullptr, "SetTvSettings"},
62 {41, nullptr, "GetEdid"},
63 {42, nullptr, "SetEdid"},
64 {43, nullptr, "GetAudioOutputMode"},
65 {44, nullptr, "SetAudioOutputMode"},
66 {45, nullptr, "IsForceMuteOnHeadphoneRemoved"},
67 {46, nullptr, "SetForceMuteOnHeadphoneRemoved"},
68 {47, nullptr, "GetQuestFlag"},
69 {48, nullptr, "SetQuestFlag"},
70 {49, nullptr, "GetDataDeletionSettings"},
71 {50, nullptr, "SetDataDeletionSettings"},
72 {51, nullptr, "GetInitialSystemAppletProgramId"},
73 {52, nullptr, "GetOverlayDispProgramId"},
74 {53, nullptr, "GetDeviceTimeZoneLocationName"},
75 {54, nullptr, "SetDeviceTimeZoneLocationName"},
76 {55, nullptr, "GetWirelessCertificationFileSize"},
77 {56, nullptr, "GetWirelessCertificationFile"},
78 {57, nullptr, "SetRegionCode"},
79 {58, nullptr, "GetNetworkSystemClockContext"},
80 {59, nullptr, "SetNetworkSystemClockContext"},
81 {60, nullptr, "IsUserSystemClockAutomaticCorrectionEnabled"},
82 {61, nullptr, "SetUserSystemClockAutomaticCorrectionEnabled"},
83 {62, nullptr, "GetDebugModeFlag"},
84 {63, nullptr, "GetPrimaryAlbumStorage"},
85 {64, nullptr, "SetPrimaryAlbumStorage"},
86 {65, nullptr, "GetUsb30EnableFlag"},
87 {66, nullptr, "SetUsb30EnableFlag"},
88 {67, nullptr, "GetBatteryLot"},
89 {68, nullptr, "GetSerialNumber"},
90 {69, nullptr, "GetNfcEnableFlag"},
91 {70, nullptr, "SetNfcEnableFlag"},
92 {71, nullptr, "GetSleepSettings"},
93 {72, nullptr, "SetSleepSettings"},
94 {73, nullptr, "GetWirelessLanEnableFlag"},
95 {74, nullptr, "SetWirelessLanEnableFlag"},
96 {75, nullptr, "GetInitialLaunchSettings"},
97 {76, nullptr, "SetInitialLaunchSettings"},
98 {77, nullptr, "GetDeviceNickName"},
99 {78, nullptr, "SetDeviceNickName"},
100 {79, nullptr, "GetProductModel"},
101 {80, nullptr, "GetLdnChannel"},
102 {81, nullptr, "SetLdnChannel"},
103 {82, nullptr, "AcquireTelemetryDirtyFlagEventHandle"},
104 {83, nullptr, "GetTelemetryDirtyFlags"},
105 {84, nullptr, "GetPtmBatteryLot"},
106 {85, nullptr, "SetPtmBatteryLot"},
107 {86, nullptr, "GetPtmFuelGaugeParameter"},
108 {87, nullptr, "SetPtmFuelGaugeParameter"},
109 {88, nullptr, "GetBluetoothEnableFlag"},
110 {89, nullptr, "SetBluetoothEnableFlag"},
111 {90, nullptr, "GetMiiAuthorId"},
112 {91, nullptr, "SetShutdownRtcValue"},
113 {92, nullptr, "GetShutdownRtcValue"},
114 {93, nullptr, "AcquireFatalDirtyFlagEventHandle"},
115 {94, nullptr, "GetFatalDirtyFlags"},
116 {95, nullptr, "GetAutoUpdateEnableFlag"},
117 {96, nullptr, "SetAutoUpdateEnableFlag"},
118 {97, nullptr, "GetNxControllerSettings"},
119 {98, nullptr, "SetNxControllerSettings"},
120 {99, nullptr, "GetBatteryPercentageFlag"},
121 {100, nullptr, "SetBatteryPercentageFlag"},
122 {101, nullptr, "GetExternalRtcResetFlag"},
123 {102, nullptr, "SetExternalRtcResetFlag"},
124 {103, nullptr, "GetUsbFullKeyEnableFlag"},
125 {104, nullptr, "SetUsbFullKeyEnableFlag"},
126 {105, nullptr, "SetExternalSteadyClockInternalOffset"},
127 {106, nullptr, "GetExternalSteadyClockInternalOffset"},
128 {107, nullptr, "GetBacklightSettingsEx"},
129 {108, nullptr, "SetBacklightSettingsEx"},
130 {109, nullptr, "GetHeadphoneVolumeWarningCount"},
131 {110, nullptr, "SetHeadphoneVolumeWarningCount"},
132 {111, nullptr, "GetBluetoothAfhEnableFlag"},
133 {112, nullptr, "SetBluetoothAfhEnableFlag"},
134 {113, nullptr, "GetBluetoothBoostEnableFlag"},
135 {114, nullptr, "SetBluetoothBoostEnableFlag"},
136 {115, nullptr, "GetInRepairProcessEnableFlag"},
137 {116, nullptr, "SetInRepairProcessEnableFlag"},
138 {117, nullptr, "GetHeadphoneVolumeUpdateFlag"},
139 {118, nullptr, "SetHeadphoneVolumeUpdateFlag"},
140 {119, nullptr, "NeedsToUpdateHeadphoneVolume"},
141 {120, nullptr, "GetPushNotificationActivityModeOnSleep"},
142 {121, nullptr, "SetPushNotificationActivityModeOnSleep"},
143 {122, nullptr, "GetServiceDiscoveryControlSettings"},
144 {123, nullptr, "SetServiceDiscoveryControlSettings"},
145 {124, nullptr, "GetErrorReportSharePermission"},
146 {125, nullptr, "SetErrorReportSharePermission"},
147 {126, nullptr, "GetAppletLaunchFlags"},
148 {127, nullptr, "SetAppletLaunchFlags"},
149 {128, nullptr, "GetConsoleSixAxisSensorAccelerationBias"},
150 {129, nullptr, "SetConsoleSixAxisSensorAccelerationBias"},
151 {130, nullptr, "GetConsoleSixAxisSensorAngularVelocityBias"},
152 {131, nullptr, "SetConsoleSixAxisSensorAngularVelocityBias"},
153 {132, nullptr, "GetConsoleSixAxisSensorAccelerationGain"},
154 {133, nullptr, "SetConsoleSixAxisSensorAccelerationGain"},
155 {134, nullptr, "GetConsoleSixAxisSensorAngularVelocityGain"},
156 {135, nullptr, "SetConsoleSixAxisSensorAngularVelocityGain"},
157 {136, nullptr, "GetKeyboardLayout"},
158 {137, nullptr, "SetKeyboardLayout"},
159 {138, nullptr, "GetWebInspectorFlag"},
160 {139, nullptr, "GetAllowedSslHosts"},
161 {140, nullptr, "GetHostFsMountPoint"},
162 };
163 RegisterHandlers(functions);
164}
165
166} // namespace Set
167} // namespace Service
diff --git a/src/core/hle/service/set/set_sys.h b/src/core/hle/service/set/set_sys.h
new file mode 100644
index 000000000..105f1a3c7
--- /dev/null
+++ b/src/core/hle/service/set/set_sys.h
@@ -0,0 +1,22 @@
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/service.h"
8
9namespace Service {
10namespace Set {
11
12class SET_SYS final : public ServiceFramework<SET_SYS> {
13public:
14 explicit SET_SYS();
15 ~SET_SYS() = default;
16
17private:
18 void GetColorSetId(Kernel::HLERequestContext& ctx);
19};
20
21} // namespace Set
22} // namespace Service
diff --git a/src/core/hle/service/set/settings.cpp b/src/core/hle/service/set/settings.cpp
new file mode 100644
index 000000000..c6bc9e240
--- /dev/null
+++ b/src/core/hle/service/set/settings.cpp
@@ -0,0 +1,22 @@
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/set/set.h"
6#include "core/hle/service/set/set_cal.h"
7#include "core/hle/service/set/set_fd.h"
8#include "core/hle/service/set/set_sys.h"
9#include "core/hle/service/set/settings.h"
10
11namespace Service {
12namespace Set {
13
14void InstallInterfaces(SM::ServiceManager& service_manager) {
15 std::make_shared<SET>()->InstallAsService(service_manager);
16 std::make_shared<SET_CAL>()->InstallAsService(service_manager);
17 std::make_shared<SET_FD>()->InstallAsService(service_manager);
18 std::make_shared<SET_SYS>()->InstallAsService(service_manager);
19}
20
21} // namespace Set
22} // namespace Service
diff --git a/src/core/hle/service/set/settings.h b/src/core/hle/service/set/settings.h
new file mode 100644
index 000000000..6c8d5a58c
--- /dev/null
+++ b/src/core/hle/service/set/settings.h
@@ -0,0 +1,16 @@
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/service.h"
8
9namespace Service {
10namespace Set {
11
12/// Registers all Settings services with the specified service manager.
13void InstallInterfaces(SM::ServiceManager& service_manager);
14
15} // namespace Set
16} // namespace Service