diff options
| author | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-05 22:39:26 -0700 |
|---|---|---|
| committer | Yuri Kunde Schlesner <yuriks@yuriks.net> | 2017-06-06 02:56:32 -0700 |
| commit | 6354d083594249fa1995be7b024943c258f63880 (patch) | |
| tree | be459930c35e50f698ef7747730092116eea6a74 /src/core/hle/kernel/server_port.h | |
| parent | 7e5dd46cf4c7be421b6a86a661f6dd9cd1ef4332 (diff) | |
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
Diffstat (limited to 'src/core/hle/kernel/server_port.h')
| -rw-r--r-- | src/core/hle/kernel/server_port.h | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/src/core/hle/kernel/server_port.h b/src/core/hle/kernel/server_port.h index 281559acf..f1419cd46 100644 --- a/src/core/hle/kernel/server_port.h +++ b/src/core/hle/kernel/server_port.h @@ -20,15 +20,13 @@ class ServerPort final : public WaitObject { public: /** * Creates a pair of ServerPort and an associated ClientPort. + * * @param max_sessions Maximum number of sessions to the port * @param name Optional name of the ports - * @param hle_handler Optional HLE handler template for the port, - * ServerSessions crated from this port will inherit a reference to this handler. * @return The created port tuple */ static std::tuple<SharedPtr<ServerPort>, SharedPtr<ClientPort>> CreatePortPair( - u32 max_sessions, std::string name = "UnknownPort", - std::shared_ptr<SessionRequestHandler> hle_handler = nullptr); + u32 max_sessions, std::string name = "UnknownPort"); std::string GetTypeName() const override { return "ServerPort"; @@ -42,6 +40,14 @@ public: return HANDLE_TYPE; } + /** + * Sets the HLE handler template for the port. ServerSessions crated by connecting to this port + * will inherit a reference to this handler. + */ + void SetHleHandler(std::shared_ptr<SessionRequestHandler> hle_handler_) { + hle_handler = std::move(hle_handler_); + } + std::string name; ///< Name of port (optional) std::vector<SharedPtr<WaitObject>> |
