early-access version 2636

This commit is contained in:
pineappleEA
2022-04-02 10:29:48 +02:00
parent f2c0175302
commit 0d49569ca5
18 changed files with 58 additions and 44 deletions

View File

@@ -25,9 +25,9 @@
namespace Kernel {
SessionRequestHandler::SessionRequestHandler(KernelCore& kernel_, const char* service_name_,
bool create_service_thread_)
ServiceThreadType thread_type)
: kernel{kernel_} {
if (create_service_thread_) {
if (thread_type == ServiceThreadType::CreateNew) {
service_thread = kernel.CreateServiceThread(service_name_);
} else {
service_thread = kernel.GetDefaultServiceThread();

View File

@@ -33,6 +33,11 @@ namespace Service {
class ServiceFrameworkBase;
}
enum class ServiceThreadType {
Default,
CreateNew,
};
namespace Kernel {
class Domain;
@@ -58,7 +63,7 @@ enum class ThreadWakeupReason;
class SessionRequestHandler : public std::enable_shared_from_this<SessionRequestHandler> {
public:
SessionRequestHandler(KernelCore& kernel_, const char* service_name_,
bool create_service_thread_);
ServiceThreadType thread_type);
virtual ~SessionRequestHandler();
/**

View File

@@ -1091,7 +1091,7 @@ std::weak_ptr<Kernel::ServiceThread> KernelCore::CreateServiceThread(const std::
return impl->CreateServiceThread(*this, name);
}
std::weak_ptr<Kernel::ServiceThread> KernelCore::GetDefaultServiceThread() {
std::weak_ptr<Kernel::ServiceThread> KernelCore::GetDefaultServiceThread() const {
return impl->default_service_thread;
}

View File

@@ -294,7 +294,7 @@ public:
* creating a new service thread.
* @returns The a weak pointer for the default service thread.
*/
std::weak_ptr<Kernel::ServiceThread> GetDefaultServiceThread();
std::weak_ptr<Kernel::ServiceThread> GetDefaultServiceThread() const;
/**
* Releases a HLE service thread, instructing KernelCore to free it. This should be called when