From 725d240bf7b9cb48de7a66f8696695ef7aabc889 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 18 May 2014 18:24:24 -0400 Subject: renamed "UID" to "Handle" where appropriate --- src/core/hle/service/service.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'src/core/hle/service/service.cpp') diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index e6605a398..5601e59a1 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -32,27 +32,27 @@ Manager::~Manager() { /// Add a service to the manager (does not create it though) void Manager::AddService(Interface* service) { int index = m_services.size(); - u32 new_uid = GetUIDFromIndex(index); + Handle handle = GetHandleFromIndex(index); m_services.push_back(service); - m_port_map[service->GetPortName()] = new_uid; - service->m_uid = new_uid; + m_port_map[service->GetPortName()] = handle; + service->m_handle = handle; } /// Removes a service from the manager, also frees memory void Manager::DeleteService(std::string port_name) { auto service = FetchFromPortName(port_name); - m_services.erase(m_services.begin() + GetIndexFromUID(service->m_uid)); + m_services.erase(m_services.begin() + GetIndexFromHandle(service->m_handle)); m_port_map.erase(port_name); delete service; } -/// Get a Service Interface from its UID -Interface* Manager::FetchFromUID(u32 uid) { - int index = GetIndexFromUID(uid); +/// Get a Service Interface from its Handle +Interface* Manager::FetchFromHandle(Handle handle) { + int index = GetIndexFromHandle(handle); if (index < (int)m_services.size()) { return m_services[index]; } @@ -65,7 +65,7 @@ Interface* Manager::FetchFromPortName(std::string port_name) { if (itr == m_port_map.end()) { return NULL; } - return FetchFromUID(itr->second); + return FetchFromHandle(itr->second); } -- cgit v1.2.3 From eab6fd01d7d2e9b7434a8c5654d424cb563c3784 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sun, 18 May 2014 21:43:29 -0400 Subject: - updated service(s) to be KernelObject's - various cleanups --- src/core/hle/service/service.cpp | 22 +++++++--------------- 1 file changed, 7 insertions(+), 15 deletions(-) (limited to 'src/core/hle/service/service.cpp') diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index 5601e59a1..b3e414e0f 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -7,12 +7,15 @@ #include "common/string_util.h" #include "core/hle/hle.h" + #include "core/hle/service/service.h" #include "core/hle/service/apt.h" #include "core/hle/service/gsp.h" #include "core/hle/service/hid.h" #include "core/hle/service/srv.h" +#include "core/hle/kernel/kernel.h" + namespace Service { Manager* g_manager = NULL; ///< Service manager @@ -31,32 +34,21 @@ Manager::~Manager() { /// Add a service to the manager (does not create it though) void Manager::AddService(Interface* service) { - int index = m_services.size(); - Handle handle = GetHandleFromIndex(index); - + m_port_map[service->GetPortName()] = g_kernel_objects.Create(service); m_services.push_back(service); - - m_port_map[service->GetPortName()] = handle; - service->m_handle = handle; } /// Removes a service from the manager, also frees memory void Manager::DeleteService(std::string port_name) { - auto service = FetchFromPortName(port_name); - - m_services.erase(m_services.begin() + GetIndexFromHandle(service->m_handle)); + Interface* service = FetchFromPortName(port_name); + m_services.erase(std::remove(m_services.begin(), m_services.end(), service), m_services.end()); m_port_map.erase(port_name); - delete service; } /// Get a Service Interface from its Handle Interface* Manager::FetchFromHandle(Handle handle) { - int index = GetIndexFromHandle(handle); - if (index < (int)m_services.size()) { - return m_services[index]; - } - return NULL; + return g_kernel_objects.GetFast(handle); } /// Get a Service Interface from its port -- cgit v1.2.3 From 44336329eddd7dbe1f76144e9a1e95e5f76ed372 Mon Sep 17 00:00:00 2001 From: bunnei Date: Tue, 20 May 2014 18:13:25 -0400 Subject: - created a Kernel namespace - cleaned up Kernel code a bit (moved stuff into namespace, fixed whitespace issues) - added handle types for all different CTROS handles --- src/core/hle/service/service.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/core/hle/service/service.cpp') diff --git a/src/core/hle/service/service.cpp b/src/core/hle/service/service.cpp index b3e414e0f..08d0c43ff 100644 --- a/src/core/hle/service/service.cpp +++ b/src/core/hle/service/service.cpp @@ -34,7 +34,7 @@ Manager::~Manager() { /// Add a service to the manager (does not create it though) void Manager::AddService(Interface* service) { - m_port_map[service->GetPortName()] = g_kernel_objects.Create(service); + m_port_map[service->GetPortName()] = Kernel::g_object_pool.Create(service); m_services.push_back(service); } @@ -48,7 +48,7 @@ void Manager::DeleteService(std::string port_name) { /// Get a Service Interface from its Handle Interface* Manager::FetchFromHandle(Handle handle) { - return g_kernel_objects.GetFast(handle); + return Kernel::g_object_pool.GetFast(handle); } /// Get a Service Interface from its port -- cgit v1.2.3