diff options
| -rw-r--r-- | src/core/hle/kernel/hle_ipc.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/k_server_session.h | 11 | ||||
| -rw-r--r-- | src/core/hle/service/service.h | 2 |
3 files changed, 8 insertions, 9 deletions
diff --git a/src/core/hle/kernel/hle_ipc.cpp b/src/core/hle/kernel/hle_ipc.cpp index 45aced99f..28ed6265a 100644 --- a/src/core/hle/kernel/hle_ipc.cpp +++ b/src/core/hle/kernel/hle_ipc.cpp | |||
| @@ -57,11 +57,11 @@ bool SessionRequestManager::HasSessionRequestHandler(const HLERequestContext& co | |||
| 57 | } | 57 | } |
| 58 | 58 | ||
| 59 | void SessionRequestHandler::ClientConnected(KServerSession* session) { | 59 | void SessionRequestHandler::ClientConnected(KServerSession* session) { |
| 60 | session->SetSessionHandler(shared_from_this()); | 60 | session->ClientConnected(shared_from_this()); |
| 61 | } | 61 | } |
| 62 | 62 | ||
| 63 | void SessionRequestHandler::ClientDisconnected(KServerSession* session) { | 63 | void SessionRequestHandler::ClientDisconnected(KServerSession* session) { |
| 64 | session->SetSessionHandler(nullptr); | 64 | session->ClientDisconnected(); |
| 65 | } | 65 | } |
| 66 | 66 | ||
| 67 | HLERequestContext::HLERequestContext(KernelCore& kernel_, Core::Memory::Memory& memory_, | 67 | HLERequestContext::HLERequestContext(KernelCore& kernel_, Core::Memory::Memory& memory_, |
diff --git a/src/core/hle/kernel/k_server_session.h b/src/core/hle/kernel/k_server_session.h index 9efd400bc..d44bc9d4f 100644 --- a/src/core/hle/kernel/k_server_session.h +++ b/src/core/hle/kernel/k_server_session.h | |||
| @@ -62,15 +62,14 @@ public: | |||
| 62 | 62 | ||
| 63 | void OnClientClosed(); | 63 | void OnClientClosed(); |
| 64 | 64 | ||
| 65 | /** | 65 | void ClientConnected(SessionRequestHandlerPtr handler) { |
| 66 | * Sets the HLE handler for the session. This handler will be called to service IPC requests | ||
| 67 | * instead of the regular IPC machinery. (The regular IPC machinery is currently not | ||
| 68 | * implemented.) | ||
| 69 | */ | ||
| 70 | void SetSessionHandler(SessionRequestHandlerPtr handler) { | ||
| 71 | manager->SetSessionHandler(std::move(handler)); | 66 | manager->SetSessionHandler(std::move(handler)); |
| 72 | } | 67 | } |
| 73 | 68 | ||
| 69 | void ClientDisconnected() { | ||
| 70 | manager = nullptr; | ||
| 71 | } | ||
| 72 | |||
| 74 | /** | 73 | /** |
| 75 | * Handle a sync request from the emulated application. | 74 | * Handle a sync request from the emulated application. |
| 76 | * | 75 | * |
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index 7f133a7cb..78afd7c73 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h | |||
| @@ -42,7 +42,7 @@ class ServiceManager; | |||
| 42 | 42 | ||
| 43 | static const int kMaxPortSize = 8; ///< Maximum size of a port name (8 characters) | 43 | static const int kMaxPortSize = 8; ///< Maximum size of a port name (8 characters) |
| 44 | /// Arbitrary default number of maximum connections to an HLE service. | 44 | /// Arbitrary default number of maximum connections to an HLE service. |
| 45 | static const u32 DefaultMaxSessions = 0x10000; | 45 | static const u32 DefaultMaxSessions = 0x100; |
| 46 | 46 | ||
| 47 | /** | 47 | /** |
| 48 | * This is an non-templated base of ServiceFramework to reduce code bloat and compilation times, it | 48 | * This is an non-templated base of ServiceFramework to reduce code bloat and compilation times, it |