summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Mat M2018-07-25 18:51:59 -0400
committerGravatar GitHub2018-07-25 18:51:59 -0400
commitd245610939219a3631a9a1850ffd8a504ce7d9d8 (patch)
tree1fd5498efd5e166f5575dc5b2cd8ddf3566ab100
parentMerge pull request #821 from lioncash/wait (diff)
parentservice: Add the es service (diff)
downloadyuzu-d245610939219a3631a9a1850ffd8a504ce7d9d8.tar.gz
yuzu-d245610939219a3631a9a1850ffd8a504ce7d9d8.tar.xz
yuzu-d245610939219a3631a9a1850ffd8a504ce7d9d8.zip
Merge pull request #820 from lioncash/es
service: Add the es service
Diffstat (limited to '')
-rw-r--r--src/core/CMakeLists.txt2
-rw-r--r--src/core/hle/service/es/es.cpp57
-rw-r--r--src/core/hle/service/es/es.h16
-rw-r--r--src/core/hle/service/service.cpp2
4 files changed, 77 insertions, 0 deletions
diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index 833605475..87e381055 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -136,6 +136,8 @@ add_library(core STATIC
136 hle/service/bcat/bcat.h 136 hle/service/bcat/bcat.h
137 hle/service/bcat/module.cpp 137 hle/service/bcat/module.cpp
138 hle/service/bcat/module.h 138 hle/service/bcat/module.h
139 hle/service/es/es.cpp
140 hle/service/es/es.h
139 hle/service/fatal/fatal.cpp 141 hle/service/fatal/fatal.cpp
140 hle/service/fatal/fatal.h 142 hle/service/fatal/fatal.h
141 hle/service/fatal/fatal_p.cpp 143 hle/service/fatal/fatal_p.cpp
diff --git a/src/core/hle/service/es/es.cpp b/src/core/hle/service/es/es.cpp
new file mode 100644
index 000000000..d40f18565
--- /dev/null
+++ b/src/core/hle/service/es/es.cpp
@@ -0,0 +1,57 @@
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/service.h"
6
7namespace Service::ES {
8
9class ETicket final : public ServiceFramework<ETicket> {
10public:
11 explicit ETicket() : ServiceFramework{"es"} {
12 static const FunctionInfo functions[] = {
13 {1, nullptr, "ImportTicket"},
14 {2, nullptr, "ImportTicketCertificateSet"},
15 {3, nullptr, "DeleteTicket"},
16 {4, nullptr, "DeletePersonalizedTicket"},
17 {5, nullptr, "DeleteAllCommonTicket"},
18 {6, nullptr, "DeleteAllPersonalizedTicket"},
19 {7, nullptr, "DeleteAllPersonalizedTicketEx"},
20 {8, nullptr, "GetTitleKey"},
21 {9, nullptr, "CountCommonTicket"},
22 {10, nullptr, "CountPersonalizedTicket"},
23 {11, nullptr, "ListCommonTicket"},
24 {12, nullptr, "ListPersonalizedTicket"},
25 {13, nullptr, "ListMissingPersonalizedTicket"},
26 {14, nullptr, "GetCommonTicketSize"},
27 {15, nullptr, "GetPersonalizedTicketSize"},
28 {16, nullptr, "GetCommonTicketData"},
29 {17, nullptr, "GetPersonalizedTicketData"},
30 {18, nullptr, "OwnTicket"},
31 {19, nullptr, "GetTicketInfo"},
32 {20, nullptr, "ListLightTicketInfo"},
33 {21, nullptr, "SignData"},
34 {22, nullptr, "GetCommonTicketAndCertificateSize"},
35 {23, nullptr, "GetCommonTicketAndCertificateData"},
36 {24, nullptr, "ImportPrepurchaseRecord"},
37 {25, nullptr, "DeletePrepurchaseRecord"},
38 {26, nullptr, "DeleteAllPrepurchaseRecord"},
39 {27, nullptr, "CountPrepurchaseRecord"},
40 {28, nullptr, "ListPrepurchaseRecord"},
41 {29, nullptr, "ListPrepurchaseRecordInfo"},
42 {30, nullptr, "Unknown1"},
43 {31, nullptr, "Unknown2"},
44 {32, nullptr, "Unknown3"},
45 {33, nullptr, "Unknown4"},
46 {34, nullptr, "Unknown5"},
47 {35, nullptr, "Unknown6"},
48 };
49 RegisterHandlers(functions);
50 }
51};
52
53void InstallInterfaces(SM::ServiceManager& service_manager) {
54 std::make_shared<ETicket>()->InstallAsService(service_manager);
55}
56
57} // namespace Service::ES
diff --git a/src/core/hle/service/es/es.h b/src/core/hle/service/es/es.h
new file mode 100644
index 000000000..afe70465b
--- /dev/null
+++ b/src/core/hle/service/es/es.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
7namespace Service::SM {
8class ServiceManager;
9}
10
11namespace Service::ES {
12
13/// Registers all ES services with the specified service manager.
14void InstallInterfaces(SM::ServiceManager& service_manager);
15
16} // namespace Service::ES
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 0d036bfaa..b70d0d517 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -21,6 +21,7 @@
21#include "core/hle/service/apm/apm.h" 21#include "core/hle/service/apm/apm.h"
22#include "core/hle/service/audio/audio.h" 22#include "core/hle/service/audio/audio.h"
23#include "core/hle/service/bcat/bcat.h" 23#include "core/hle/service/bcat/bcat.h"
24#include "core/hle/service/es/es.h"
24#include "core/hle/service/fatal/fatal.h" 25#include "core/hle/service/fatal/fatal.h"
25#include "core/hle/service/filesystem/filesystem.h" 26#include "core/hle/service/filesystem/filesystem.h"
26#include "core/hle/service/friend/friend.h" 27#include "core/hle/service/friend/friend.h"
@@ -187,6 +188,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) {
187 APM::InstallInterfaces(*sm); 188 APM::InstallInterfaces(*sm);
188 BCAT::InstallInterfaces(*sm); 189 BCAT::InstallInterfaces(*sm);
189 Audio::InstallInterfaces(*sm); 190 Audio::InstallInterfaces(*sm);
191 ES::InstallInterfaces(*sm);
190 Fatal::InstallInterfaces(*sm); 192 Fatal::InstallInterfaces(*sm);
191 FileSystem::InstallInterfaces(*sm); 193 FileSystem::InstallInterfaces(*sm);
192 Friend::InstallInterfaces(*sm); 194 Friend::InstallInterfaces(*sm);