diff options
| author | Subv <subv2112@gmail.com> | 2016-06-18 13:39:26 -0500 |
|---|---|---|
| committer | Subv <subv2112@gmail.com> | 2016-11-30 23:04:00 -0500 |
| commit | c5e7e0fa26fc793c8b9f3effe25586f7fb57953e (patch) | |
| tree | 2acac9450de6b1d8cc42d89f9aa08759d77f9cd9 /src/core/hle/kernel/client_port.h | |
| parent | c19afd21188e91b9dd2780cf5cb9872a17ad113d (diff) | |
IPC/HLE: Associate the ClientSessions with their parent port's HLE interface if it exists.
Pass the triggering ServerSession to the HLE command handler to differentiate which session caused the request.
Diffstat (limited to 'src/core/hle/kernel/client_port.h')
| -rw-r--r-- | src/core/hle/kernel/client_port.h | 12 |
1 files changed, 3 insertions, 9 deletions
diff --git a/src/core/hle/kernel/client_port.h b/src/core/hle/kernel/client_port.h index ee65606ba..52308f13f 100644 --- a/src/core/hle/kernel/client_port.h +++ b/src/core/hle/kernel/client_port.h @@ -28,19 +28,13 @@ public: * @param hle_interface Interface object that implements the commands of the service. * @returns ClientPort for the given HLE interface. */ - static Kernel::SharedPtr<ClientPort> CreateForHLE(u32 max_sessions, std::unique_ptr<Service::Interface> hle_interface); + static Kernel::SharedPtr<ClientPort> CreateForHLE(u32 max_sessions, std::shared_ptr<Service::Interface> hle_interface); /** * Adds the specified server session to the queue of pending sessions of the associated ServerPort * @param server_session Server session to add to the queue */ - virtual void AddWaitingSession(SharedPtr<ServerSession> server_session); - - /** - * Handle a sync request from the emulated application. - * @returns ResultCode from the operation. - */ - ResultCode HandleSyncRequest(); + void AddWaitingSession(SharedPtr<ServerSession> server_session); std::string GetTypeName() const override { return "ClientPort"; } std::string GetName() const override { return name; } @@ -54,7 +48,7 @@ public: u32 max_sessions; ///< Maximum number of simultaneous sessions the port can have u32 active_sessions; ///< Number of currently open sessions to this port std::string name; ///< Name of client port (optional) - std::unique_ptr<Service::Interface> hle_interface = nullptr; ///< HLE implementation of this port's request handler + std::shared_ptr<Service::Interface> hle_interface = nullptr; ///< HLE implementation of this port's request handler private: ClientPort(); |
