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.
This commit is contained in:
parent
44f46254dc
commit
83a8975cb8
40 changed files with 1202 additions and 1110 deletions
|
@ -3,9 +3,13 @@
|
|||
// Refer to the license.txt file included.
|
||||
|
||||
#include <algorithm>
|
||||
#include "common/make_unique.h"
|
||||
#include "core/hle/service/cfg/cfg.h"
|
||||
|
||||
#include "core/hle/service/fs/archive.h"
|
||||
#include "core/hle/service/service.h"
|
||||
#include "core/hle/service/cfg/cfg.h"
|
||||
#include "core/hle/service/cfg/cfg_i.h"
|
||||
#include "core/hle/service/cfg/cfg_s.h"
|
||||
#include "core/hle/service/cfg/cfg_u.h"
|
||||
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
@ -162,6 +166,10 @@ ResultCode FormatConfig() {
|
|||
}
|
||||
|
||||
void CFGInit() {
|
||||
AddService(new CFG_I_Interface);
|
||||
AddService(new CFG_S_Interface);
|
||||
AddService(new CFG_U_Interface);
|
||||
|
||||
// Open the SystemSaveData archive 0x00010017
|
||||
FileSys::Path archive_path(cfg_system_savedata_id);
|
||||
auto archive_result = Service::FS::OpenArchive(Service::FS::ArchiveIdCode::SystemSaveData, archive_path);
|
||||
|
|
|
@ -6,10 +6,8 @@
|
|||
#include "core/hle/service/cfg/cfg.h"
|
||||
#include "core/hle/service/cfg/cfg_i.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace CFG_I
|
||||
|
||||
namespace CFG_I {
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
||||
/**
|
||||
* CFG_I::GetConfigInfoBlk8 service function
|
||||
|
@ -99,11 +97,9 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|||
{0x08180042, nullptr, "SecureInfoGetSerialNo"},
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Interface class
|
||||
|
||||
Interface::Interface() {
|
||||
CFG_I_Interface::CFG_I_Interface() {
|
||||
Register(FunctionTable);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace CFG
|
||||
} // namespace Service
|
|
@ -6,18 +6,17 @@
|
|||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace CFG_I
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
||||
namespace CFG_I {
|
||||
|
||||
class Interface : public Service::Interface {
|
||||
class CFG_I_Interface : public Service::Interface {
|
||||
public:
|
||||
Interface();
|
||||
CFG_I_Interface();
|
||||
|
||||
std::string GetPortName() const override {
|
||||
return "cfg:i";
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
} // namespace CFG
|
||||
} // namespace Service
|
|
@ -6,10 +6,8 @@
|
|||
#include "core/hle/service/cfg/cfg.h"
|
||||
#include "core/hle/service/cfg/cfg_s.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace CFG_S
|
||||
|
||||
namespace CFG_S {
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
||||
/**
|
||||
* CFG_S::GetConfigInfoBlk2 service function
|
||||
|
@ -87,11 +85,9 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|||
{0x04090000, nullptr, "UpdateConfigBlk00040003"},
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Interface class
|
||||
|
||||
Interface::Interface() {
|
||||
CFG_S_Interface::CFG_S_Interface() {
|
||||
Register(FunctionTable);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace CFG
|
||||
} // namespace Service
|
||||
|
|
|
@ -6,18 +6,17 @@
|
|||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace CFG_S
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
||||
namespace CFG_S {
|
||||
|
||||
class Interface : public Service::Interface {
|
||||
class CFG_S_Interface : public Service::Interface {
|
||||
public:
|
||||
Interface();
|
||||
CFG_S_Interface();
|
||||
|
||||
std::string GetPortName() const override {
|
||||
return "cfg:s";
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
} // namespace CFG
|
||||
} // namespace Service
|
||||
|
|
|
@ -10,10 +10,8 @@
|
|||
#include "core/hle/service/cfg/cfg.h"
|
||||
#include "core/hle/service/cfg/cfg_u.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace CFG_U
|
||||
|
||||
namespace CFG_U {
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
||||
// TODO(Link Mauve): use a constexpr once MSVC starts supporting it.
|
||||
#define C(code) ((code)[0] | ((code)[1] << 8))
|
||||
|
@ -241,11 +239,9 @@ const Interface::FunctionInfo FunctionTable[] = {
|
|||
{0x000A0040, GetCountryCodeID, "GetCountryCodeID"},
|
||||
};
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Interface class
|
||||
|
||||
Interface::Interface() {
|
||||
CFG_U_Interface::CFG_U_Interface() {
|
||||
Register(FunctionTable);
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace CFG
|
||||
} // namespace Service
|
||||
|
|
|
@ -6,18 +6,17 @@
|
|||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// Namespace CFG_U
|
||||
namespace Service {
|
||||
namespace CFG {
|
||||
|
||||
namespace CFG_U {
|
||||
|
||||
class Interface : public Service::Interface {
|
||||
class CFG_U_Interface : public Service::Interface {
|
||||
public:
|
||||
Interface();
|
||||
CFG_U_Interface();
|
||||
|
||||
std::string GetPortName() const override {
|
||||
return "cfg:u";
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace
|
||||
} // namespace CFG
|
||||
} // namespace Service
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue