summaryrefslogtreecommitdiff
path: root/src/core/hle/service/service.cpp
diff options
context:
space:
mode:
authorGravatar Subv2015-02-26 21:13:08 -0500
committerGravatar Subv2015-03-03 21:48:08 -0500
commit83a8975cb89b908b4737d647a210c19775f25ed7 (patch)
tree53fd0e37dcab9c3a5328338273315b159381d949 /src/core/hle/service/service.cpp
parentMerge pull request #622 from Subv/titles (diff)
downloadyuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.gz
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.tar.xz
yuzu-83a8975cb89b908b4737d647a210c19775f25ed7.zip
Services: Moved the PTM and APT services to their own folder
This coincidentally fixes an issue about the PTM service failing to create its SharedExtSaveData archive due to the FS service not being initialized by the time the creating code runs. Ideally I'd like to move each process to its own folder, and have a single file per process that registers the service classes, which would be in their own files inside that folder. Then each service class would just call functions from the process to complete the commands.
Diffstat (limited to 'src/core/hle/service/service.cpp')
-rw-r--r--src/core/hle/service/service.cpp50
1 files changed, 22 insertions, 28 deletions
diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp
index 5dce8068e..91f13cd7e 100644
--- a/src/core/hle/service/service.cpp
+++ b/src/core/hle/service/service.cpp
@@ -11,26 +11,17 @@
11#include "core/hle/service/am_app.h" 11#include "core/hle/service/am_app.h"
12#include "core/hle/service/am_net.h" 12#include "core/hle/service/am_net.h"
13#include "core/hle/service/am_sys.h" 13#include "core/hle/service/am_sys.h"
14#include "core/hle/service/apt_a.h"
15#include "core/hle/service/apt_s.h"
16#include "core/hle/service/apt_u.h"
17#include "core/hle/service/boss_p.h" 14#include "core/hle/service/boss_p.h"
18#include "core/hle/service/boss_u.h" 15#include "core/hle/service/boss_u.h"
19#include "core/hle/service/cam_u.h" 16#include "core/hle/service/cam_u.h"
20#include "core/hle/service/cecd_u.h" 17#include "core/hle/service/cecd_u.h"
21#include "core/hle/service/cecd_s.h" 18#include "core/hle/service/cecd_s.h"
22#include "core/hle/service/cfg/cfg_i.h"
23#include "core/hle/service/cfg/cfg_s.h"
24#include "core/hle/service/cfg/cfg_u.h"
25#include "core/hle/service/csnd_snd.h" 19#include "core/hle/service/csnd_snd.h"
26#include "core/hle/service/dsp_dsp.h" 20#include "core/hle/service/dsp_dsp.h"
27#include "core/hle/service/err_f.h" 21#include "core/hle/service/err_f.h"
28#include "core/hle/service/fs/fs_user.h"
29#include "core/hle/service/frd_a.h" 22#include "core/hle/service/frd_a.h"
30#include "core/hle/service/frd_u.h" 23#include "core/hle/service/frd_u.h"
31#include "core/hle/service/gsp_gpu.h" 24#include "core/hle/service/gsp_gpu.h"
32#include "core/hle/service/hid/hid_spvr.h"
33#include "core/hle/service/hid/hid_user.h"
34#include "core/hle/service/gsp_lcd.h" 25#include "core/hle/service/gsp_lcd.h"
35#include "core/hle/service/http_c.h" 26#include "core/hle/service/http_c.h"
36#include "core/hle/service/ir_rst.h" 27#include "core/hle/service/ir_rst.h"
@@ -44,14 +35,17 @@
44#include "core/hle/service/ns_s.h" 35#include "core/hle/service/ns_s.h"
45#include "core/hle/service/nwm_uds.h" 36#include "core/hle/service/nwm_uds.h"
46#include "core/hle/service/pm_app.h" 37#include "core/hle/service/pm_app.h"
47#include "core/hle/service/ptm_play.h"
48#include "core/hle/service/ptm_u.h"
49#include "core/hle/service/ptm_sysm.h"
50#include "core/hle/service/soc_u.h" 38#include "core/hle/service/soc_u.h"
51#include "core/hle/service/srv.h" 39#include "core/hle/service/srv.h"
52#include "core/hle/service/ssl_c.h" 40#include "core/hle/service/ssl_c.h"
53#include "core/hle/service/y2r_u.h" 41#include "core/hle/service/y2r_u.h"
54 42
43#include "core/hle/service/apt/apt.h"
44#include "core/hle/service/fs/archive.h"
45#include "core/hle/service/cfg/cfg.h"
46#include "core/hle/service/hid/hid.h"
47#include "core/hle/service/ptm/ptm.h"
48
55namespace Service { 49namespace Service {
56 50
57std::unordered_map<std::string, Kernel::SharedPtr<Interface>> g_kernel_named_ports; 51std::unordered_map<std::string, Kernel::SharedPtr<Interface>> g_kernel_named_ports;
@@ -60,12 +54,12 @@ std::unordered_map<std::string, Kernel::SharedPtr<Interface>> g_srv_services;
60//////////////////////////////////////////////////////////////////////////////////////////////////// 54////////////////////////////////////////////////////////////////////////////////////////////////////
61// Module interface 55// Module interface
62 56
63static void AddNamedPort(Interface* interface) { 57static void AddNamedPort(Interface* interface_) {
64 g_kernel_named_ports.emplace(interface->GetPortName(), interface); 58 g_kernel_named_ports.emplace(interface_->GetPortName(), interface_);
65} 59}
66 60
67static void AddService(Interface* interface) { 61void AddService(Interface* interface_) {
68 g_srv_services.emplace(interface->GetPortName(), interface); 62 g_srv_services.emplace(interface_->GetPortName(), interface_);
69} 63}
70 64
71/// Initialize ServiceManager 65/// Initialize ServiceManager
@@ -73,31 +67,28 @@ void Init() {
73 AddNamedPort(new SRV::Interface); 67 AddNamedPort(new SRV::Interface);
74 AddNamedPort(new ERR_F::Interface); 68 AddNamedPort(new ERR_F::Interface);
75 69
70 Service::FS::ArchiveInit();
71 Service::CFG::CFGInit();
72 Service::APT::APTInit();
73 Service::PTM::PTMInit();
74 Service::HID::HIDInit();
75
76 AddService(new AC_U::Interface); 76 AddService(new AC_U::Interface);
77 AddService(new ACT_U::Interface); 77 AddService(new ACT_U::Interface);
78 AddService(new AM_APP::Interface); 78 AddService(new AM_APP::Interface);
79 AddService(new AM_NET::Interface); 79 AddService(new AM_NET::Interface);
80 AddService(new AM_SYS::Interface); 80 AddService(new AM_SYS::Interface);
81 AddService(new APT_A::Interface);
82 AddService(new APT_S::Interface);
83 AddService(new APT_U::Interface);
84 AddService(new BOSS_P::Interface); 81 AddService(new BOSS_P::Interface);
85 AddService(new BOSS_U::Interface); 82 AddService(new BOSS_U::Interface);
86 AddService(new CAM_U::Interface); 83 AddService(new CAM_U::Interface);
87 AddService(new CECD_S::Interface); 84 AddService(new CECD_S::Interface);
88 AddService(new CECD_U::Interface); 85 AddService(new CECD_U::Interface);
89 AddService(new CFG_I::Interface);
90 AddService(new CFG_S::Interface);
91 AddService(new CFG_U::Interface);
92 AddService(new CSND_SND::Interface); 86 AddService(new CSND_SND::Interface);
93 AddService(new DSP_DSP::Interface); 87 AddService(new DSP_DSP::Interface);
94 AddService(new FRD_A::Interface); 88 AddService(new FRD_A::Interface);
95 AddService(new FRD_U::Interface); 89 AddService(new FRD_U::Interface);
96 AddService(new FS::FSUserInterface);
97 AddService(new GSP_GPU::Interface); 90 AddService(new GSP_GPU::Interface);
98 AddService(new GSP_LCD::Interface); 91 AddService(new GSP_LCD::Interface);
99 AddService(new HID_User::Interface);
100 AddService(new HID_SPVR::Interface);
101 AddService(new HTTP_C::Interface); 92 AddService(new HTTP_C::Interface);
102 AddService(new IR_RST::Interface); 93 AddService(new IR_RST::Interface);
103 AddService(new IR_U::Interface); 94 AddService(new IR_U::Interface);
@@ -110,9 +101,6 @@ void Init() {
110 AddService(new NS_S::Interface); 101 AddService(new NS_S::Interface);
111 AddService(new NWM_UDS::Interface); 102 AddService(new NWM_UDS::Interface);
112 AddService(new PM_APP::Interface); 103 AddService(new PM_APP::Interface);
113 AddService(new PTM_PLAY::Interface);
114 AddService(new PTM_U::Interface);
115 AddService(new PTM_SYSM::Interface);
116 AddService(new SOC_U::Interface); 104 AddService(new SOC_U::Interface);
117 AddService(new SSL_C::Interface); 105 AddService(new SSL_C::Interface);
118 AddService(new Y2R_U::Interface); 106 AddService(new Y2R_U::Interface);
@@ -122,6 +110,12 @@ void Init() {
122 110
123/// Shutdown ServiceManager 111/// Shutdown ServiceManager
124void Shutdown() { 112void Shutdown() {
113 Service::HID::HIDShutdown();
114 Service::PTM::PTMShutdown();
115 Service::APT::APTShutdown();
116 Service::CFG::CFGShutdown();
117 Service::FS::ArchiveShutdown();
118
125 g_srv_services.clear(); 119 g_srv_services.clear();
126 g_kernel_named_ports.clear(); 120 g_kernel_named_ports.clear();
127 LOG_DEBUG(Service, "shutdown OK"); 121 LOG_DEBUG(Service, "shutdown OK");