|
@@ -12,6 +12,7 @@
|
|
|
#include "core/hle/ipc_helpers.h"
|
|
#include "core/hle/ipc_helpers.h"
|
|
|
#include "core/hle/kernel/client_port.h"
|
|
#include "core/hle/kernel/client_port.h"
|
|
|
#include "core/hle/kernel/handle_table.h"
|
|
#include "core/hle/kernel/handle_table.h"
|
|
|
|
|
+#include "core/hle/kernel/kernel.h"
|
|
|
#include "core/hle/kernel/process.h"
|
|
#include "core/hle/kernel/process.h"
|
|
|
#include "core/hle/kernel/server_port.h"
|
|
#include "core/hle/kernel/server_port.h"
|
|
|
#include "core/hle/kernel/thread.h"
|
|
#include "core/hle/kernel/thread.h"
|
|
@@ -114,7 +115,7 @@ void ServiceFrameworkBase::InstallAsNamedPort() {
|
|
|
std::tie(server_port, client_port) =
|
|
std::tie(server_port, client_port) =
|
|
|
ServerPort::CreatePortPair(kernel, max_sessions, service_name);
|
|
ServerPort::CreatePortPair(kernel, max_sessions, service_name);
|
|
|
server_port->SetHleHandler(shared_from_this());
|
|
server_port->SetHleHandler(shared_from_this());
|
|
|
- AddNamedPort(service_name, std::move(client_port));
|
|
|
|
|
|
|
+ kernel.AddNamedPort(service_name, std::move(client_port));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() {
|
|
Kernel::SharedPtr<Kernel::ClientPort> ServiceFrameworkBase::CreatePort() {
|
|
@@ -197,11 +198,6 @@ ResultCode ServiceFrameworkBase::HandleSyncRequest(Kernel::HLERequestContext& co
|
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
////////////////////////////////////////////////////////////////////////////////////////////////////
|
|
|
// Module interface
|
|
// Module interface
|
|
|
|
|
|
|
|
-// TODO(yuriks): Move to kernel
|
|
|
|
|
-void AddNamedPort(std::string name, SharedPtr<ClientPort> port) {
|
|
|
|
|
- g_kernel_named_ports.emplace(std::move(name), std::move(port));
|
|
|
|
|
-}
|
|
|
|
|
-
|
|
|
|
|
/// Initialize ServiceManager
|
|
/// Initialize ServiceManager
|
|
|
void Init(std::shared_ptr<SM::ServiceManager>& sm, const FileSys::VirtualFilesystem& rfs) {
|
|
void Init(std::shared_ptr<SM::ServiceManager>& sm, const FileSys::VirtualFilesystem& rfs) {
|
|
|
// NVFlinger needs to be accessed by several services like Vi and AppletOE so we instantiate it
|
|
// NVFlinger needs to be accessed by several services like Vi and AppletOE so we instantiate it
|
|
@@ -264,7 +260,6 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm, const FileSys::VirtualFilesys
|
|
|
|
|
|
|
|
/// Shutdown ServiceManager
|
|
/// Shutdown ServiceManager
|
|
|
void Shutdown() {
|
|
void Shutdown() {
|
|
|
- g_kernel_named_ports.clear();
|
|
|
|
|
LOG_DEBUG(Service, "shutdown OK");
|
|
LOG_DEBUG(Service, "shutdown OK");
|
|
|
}
|
|
}
|
|
|
} // namespace Service
|
|
} // namespace Service
|