pctl: move IParentalControlServiceFactory

This commit is contained in:
Liam
2024-02-21 21:05:30 -05:00
parent a37bd0b9a7
commit 0e74204aad
8 changed files with 87 additions and 112 deletions

View File

@ -1,19 +1,28 @@
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hle/service/pctl/parental_control_service_factory.h"
#include "core/hle/service/pctl/pctl.h"
#include "core/hle/service/server_manager.h"
namespace Service::PCTL {
PCTL::PCTL(Core::System& system_, std::shared_ptr<Module> module_, const char* name,
Capability capability_)
: Interface{system_, std::move(module_), name, capability_} {
static const FunctionInfo functions[] = {
{0, &PCTL::CreateService, "CreateService"},
{1, &PCTL::CreateServiceWithoutInitialize, "CreateServiceWithoutInitialize"},
};
RegisterHandlers(functions);
void LoopProcess(Core::System& system) {
auto server_manager = std::make_unique<ServerManager>(system);
server_manager->RegisterNamedService("pctl",
std::make_shared<IParentalControlServiceFactory>(
system, "pctl",
Capability::Application | Capability::SnsPost |
Capability::Status | Capability::StereoVision));
// TODO(ogniK): Implement remaining capabilities
server_manager->RegisterNamedService("pctl:a", std::make_shared<IParentalControlServiceFactory>(
system, "pctl:a", Capability::None));
server_manager->RegisterNamedService("pctl:r", std::make_shared<IParentalControlServiceFactory>(
system, "pctl:r", Capability::None));
server_manager->RegisterNamedService("pctl:s", std::make_shared<IParentalControlServiceFactory>(
system, "pctl:s", Capability::None));
ServerManager::RunServer(std::move(server_manager));
}
PCTL::~PCTL() = default;
} // namespace Service::PCTL