mirror of
https://git.suyu.dev/suyu/suyu
synced 2024-12-24 18:32:49 -06:00
am: move out omm interfaces to new module
This commit is contained in:
parent
a65fb85b6d
commit
bca698a17a
14 changed files with 124 additions and 87 deletions
|
@ -425,14 +425,10 @@ add_library(core STATIC
|
|||
hle/service/am/applet_message_queue.h
|
||||
hle/service/am/hid_registration.cpp
|
||||
hle/service/am/hid_registration.h
|
||||
hle/service/am/idle.cpp
|
||||
hle/service/am/idle.h
|
||||
hle/service/am/library_applet_storage.cpp
|
||||
hle/service/am/library_applet_storage.h
|
||||
hle/service/am/managed_layer_holder.cpp
|
||||
hle/service/am/managed_layer_holder.h
|
||||
hle/service/am/omm.cpp
|
||||
hle/service/am/omm.h
|
||||
hle/service/am/process.cpp
|
||||
hle/service/am/process.h
|
||||
hle/service/am/service/all_system_applet_proxies_service.cpp
|
||||
|
@ -487,8 +483,6 @@ add_library(core STATIC
|
|||
hle/service/am/service/window_controller.h
|
||||
hle/service/am/system_buffer_manager.cpp
|
||||
hle/service/am/system_buffer_manager.h
|
||||
hle/service/am/spsm.cpp
|
||||
hle/service/am/spsm.h
|
||||
hle/service/aoc/aoc_u.cpp
|
||||
hle/service/aoc/aoc_u.h
|
||||
hle/service/apm/apm.cpp
|
||||
|
@ -815,6 +809,14 @@ add_library(core STATIC
|
|||
hle/service/nvnflinger/window.h
|
||||
hle/service/olsc/olsc.cpp
|
||||
hle/service/olsc/olsc.h
|
||||
hle/service/omm/omm.cpp
|
||||
hle/service/omm/omm.h
|
||||
hle/service/omm/operation_mode_manager.cpp
|
||||
hle/service/omm/operation_mode_manager.h
|
||||
hle/service/omm/policy_manager_system.cpp
|
||||
hle/service/omm/policy_manager_system.h
|
||||
hle/service/omm/power_state_interface.cpp
|
||||
hle/service/omm/power_state_interface.h
|
||||
hle/service/os/event.cpp
|
||||
hle/service/os/event.h
|
||||
hle/service/os/multi_wait_holder.cpp
|
||||
|
|
|
@ -2,11 +2,8 @@
|
|||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "core/hle/service/am/am.h"
|
||||
#include "core/hle/service/am/idle.h"
|
||||
#include "core/hle/service/am/omm.h"
|
||||
#include "core/hle/service/am/service/all_system_applet_proxies_service.h"
|
||||
#include "core/hle/service/am/service/application_proxy_service.h"
|
||||
#include "core/hle/service/am/spsm.h"
|
||||
#include "core/hle/service/server_manager.h"
|
||||
|
||||
namespace Service::AM {
|
||||
|
@ -18,9 +15,6 @@ void LoopProcess(Nvnflinger::Nvnflinger& nvnflinger, Core::System& system) {
|
|||
"appletAE", std::make_shared<IAllSystemAppletProxiesService>(system, nvnflinger));
|
||||
server_manager->RegisterNamedService(
|
||||
"appletOE", std::make_shared<IApplicationProxyService>(system, nvnflinger));
|
||||
server_manager->RegisterNamedService("idle:sys", std::make_shared<IdleSys>(system));
|
||||
server_manager->RegisterNamedService("omm", std::make_shared<OMM>(system));
|
||||
server_manager->RegisterNamedService("spsm", std::make_shared<SPSM>(system));
|
||||
ServerManager::RunServer(std::move(server_manager));
|
||||
}
|
||||
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::AM {
|
||||
|
||||
class IdleSys final : public ServiceFramework<IdleSys> {
|
||||
public:
|
||||
explicit IdleSys(Core::System& system_);
|
||||
~IdleSys() override;
|
||||
};
|
||||
|
||||
} // namespace Service::AM
|
|
@ -1,20 +0,0 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::AM {
|
||||
|
||||
class OMM final : public ServiceFramework<OMM> {
|
||||
public:
|
||||
explicit OMM(Core::System& system_);
|
||||
~OMM() override;
|
||||
};
|
||||
|
||||
} // namespace Service::AM
|
|
@ -1,20 +0,0 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::AM {
|
||||
|
||||
class SPSM final : public ServiceFramework<SPSM> {
|
||||
public:
|
||||
explicit SPSM(Core::System& system_);
|
||||
~SPSM() override;
|
||||
};
|
||||
|
||||
} // namespace Service::AM
|
22
src/core/hle/service/omm/omm.cpp
Normal file
22
src/core/hle/service/omm/omm.cpp
Normal file
|
@ -0,0 +1,22 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "core/hle/service/omm/omm.h"
|
||||
#include "core/hle/service/omm/operation_mode_manager.h"
|
||||
#include "core/hle/service/omm/policy_manager_system.h"
|
||||
#include "core/hle/service/omm/power_state_interface.h"
|
||||
#include "core/hle/service/server_manager.h"
|
||||
|
||||
namespace Service::OMM {
|
||||
|
||||
void LoopProcess(Core::System& system) {
|
||||
auto server_manager = std::make_unique<ServerManager>(system);
|
||||
|
||||
server_manager->RegisterNamedService("idle:sys",
|
||||
std::make_shared<IPolicyManagerSystem>(system));
|
||||
server_manager->RegisterNamedService("omm", std::make_shared<IOperationModeManager>(system));
|
||||
server_manager->RegisterNamedService("spsm", std::make_shared<IPowerStateInterface>(system));
|
||||
ServerManager::RunServer(std::move(server_manager));
|
||||
}
|
||||
|
||||
} // namespace Service::OMM
|
14
src/core/hle/service/omm/omm.h
Normal file
14
src/core/hle/service/omm/omm.h
Normal file
|
@ -0,0 +1,14 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::OMM {
|
||||
|
||||
void LoopProcess(Core::System& system);
|
||||
|
||||
} // namespace Service::OMM
|
|
@ -1,11 +1,12 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "core/hle/service/am/omm.h"
|
||||
#include "core/hle/service/omm/operation_mode_manager.h"
|
||||
|
||||
namespace Service::AM {
|
||||
namespace Service::OMM {
|
||||
|
||||
OMM::OMM(Core::System& system_) : ServiceFramework{system_, "omm"} {
|
||||
IOperationModeManager::IOperationModeManager(Core::System& system_)
|
||||
: ServiceFramework{system_, "omm"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "GetOperationMode"},
|
||||
|
@ -43,6 +44,6 @@ OMM::OMM(Core::System& system_) : ServiceFramework{system_, "omm"} {
|
|||
RegisterHandlers(functions);
|
||||
}
|
||||
|
||||
OMM::~OMM() = default;
|
||||
IOperationModeManager::~IOperationModeManager() = default;
|
||||
|
||||
} // namespace Service::AM
|
||||
} // namespace Service::OMM
|
20
src/core/hle/service/omm/operation_mode_manager.h
Normal file
20
src/core/hle/service/omm/operation_mode_manager.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::OMM {
|
||||
|
||||
class IOperationModeManager final : public ServiceFramework<IOperationModeManager> {
|
||||
public:
|
||||
explicit IOperationModeManager(Core::System& system_);
|
||||
~IOperationModeManager() override;
|
||||
};
|
||||
|
||||
} // namespace Service::OMM
|
|
@ -1,11 +1,12 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "core/hle/service/am/idle.h"
|
||||
#include "core/hle/service/omm/policy_manager_system.h"
|
||||
|
||||
namespace Service::AM {
|
||||
namespace Service::OMM {
|
||||
|
||||
IdleSys::IdleSys(Core::System& system_) : ServiceFramework{system_, "idle:sys"} {
|
||||
IPolicyManagerSystem::IPolicyManagerSystem(Core::System& system_)
|
||||
: ServiceFramework{system_, "idle:sys"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "GetAutoPowerDownEvent"},
|
||||
|
@ -20,6 +21,6 @@ IdleSys::IdleSys(Core::System& system_) : ServiceFramework{system_, "idle:sys"}
|
|||
RegisterHandlers(functions);
|
||||
}
|
||||
|
||||
IdleSys::~IdleSys() = default;
|
||||
IPolicyManagerSystem::~IPolicyManagerSystem() = default;
|
||||
|
||||
} // namespace Service::AM
|
||||
} // namespace Service::OMM
|
20
src/core/hle/service/omm/policy_manager_system.h
Normal file
20
src/core/hle/service/omm/policy_manager_system.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::OMM {
|
||||
|
||||
class IPolicyManagerSystem final : public ServiceFramework<IPolicyManagerSystem> {
|
||||
public:
|
||||
explicit IPolicyManagerSystem(Core::System& system_);
|
||||
~IPolicyManagerSystem() override;
|
||||
};
|
||||
|
||||
} // namespace Service::OMM
|
|
@ -1,11 +1,12 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#include "core/hle/service/am/spsm.h"
|
||||
#include "core/hle/service/omm/power_state_interface.h"
|
||||
|
||||
namespace Service::AM {
|
||||
namespace Service::OMM {
|
||||
|
||||
SPSM::SPSM(Core::System& system_) : ServiceFramework{system_, "spsm"} {
|
||||
IPowerStateInterface::IPowerStateInterface(Core::System& system_)
|
||||
: ServiceFramework{system_, "spsm"} {
|
||||
// clang-format off
|
||||
static const FunctionInfo functions[] = {
|
||||
{0, nullptr, "GetState"},
|
||||
|
@ -26,6 +27,6 @@ SPSM::SPSM(Core::System& system_) : ServiceFramework{system_, "spsm"} {
|
|||
RegisterHandlers(functions);
|
||||
}
|
||||
|
||||
SPSM::~SPSM() = default;
|
||||
IPowerStateInterface::~IPowerStateInterface() = default;
|
||||
|
||||
} // namespace Service::AM
|
||||
} // namespace Service::OMM
|
20
src/core/hle/service/omm/power_state_interface.h
Normal file
20
src/core/hle/service/omm/power_state_interface.h
Normal file
|
@ -0,0 +1,20 @@
|
|||
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
|
||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "core/hle/service/service.h"
|
||||
|
||||
namespace Core {
|
||||
class System;
|
||||
}
|
||||
|
||||
namespace Service::OMM {
|
||||
|
||||
class IPowerStateInterface final : public ServiceFramework<IPowerStateInterface> {
|
||||
public:
|
||||
explicit IPowerStateInterface(Core::System& system_);
|
||||
~IPowerStateInterface() override;
|
||||
};
|
||||
|
||||
} // namespace Service::OMM
|
|
@ -52,6 +52,7 @@
|
|||
#include "core/hle/service/nvnflinger/hos_binder_driver_server.h"
|
||||
#include "core/hle/service/nvnflinger/nvnflinger.h"
|
||||
#include "core/hle/service/olsc/olsc.h"
|
||||
#include "core/hle/service/omm/omm.h"
|
||||
#include "core/hle/service/pcie/pcie.h"
|
||||
#include "core/hle/service/pctl/pctl_module.h"
|
||||
#include "core/hle/service/pcv/pcv.h"
|
||||
|
@ -266,6 +267,7 @@ Services::Services(std::shared_ptr<SM::ServiceManager>& sm, Core::System& system
|
|||
kernel.RunOnGuestCoreProcess("npns", [&] { NPNS::LoopProcess(system); });
|
||||
kernel.RunOnGuestCoreProcess("ns", [&] { NS::LoopProcess(system); });
|
||||
kernel.RunOnGuestCoreProcess("olsc", [&] { OLSC::LoopProcess(system); });
|
||||
kernel.RunOnGuestCoreProcess("omm", [&] { OMM::LoopProcess(system); });
|
||||
kernel.RunOnGuestCoreProcess("pcie", [&] { PCIe::LoopProcess(system); });
|
||||
kernel.RunOnGuestCoreProcess("pctl", [&] { PCTL::LoopProcess(system); });
|
||||
kernel.RunOnGuestCoreProcess("pcv", [&] { PCV::LoopProcess(system); });
|
||||
|
|
Loading…
Reference in a new issue