diff options
author | Subv <subv2112@gmail.com> | 2016-12-08 21:01:10 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-12-08 21:01:10 +0100 |
commit | 386112da3265d111595329508b860800e5cf14e8 (patch) | |
tree | 7cb27e289abd255ff7f371eff0f9d1ddd07b5d11 /src/core/hle/service/service.h | |
parent | Use std::move where appropriate. (diff) | |
download | yuzu-386112da3265d111595329508b860800e5cf14e8.tar yuzu-386112da3265d111595329508b860800e5cf14e8.tar.gz yuzu-386112da3265d111595329508b860800e5cf14e8.tar.bz2 yuzu-386112da3265d111595329508b860800e5cf14e8.tar.lz yuzu-386112da3265d111595329508b860800e5cf14e8.tar.xz yuzu-386112da3265d111595329508b860800e5cf14e8.tar.zst yuzu-386112da3265d111595329508b860800e5cf14e8.zip |
Diffstat (limited to 'src/core/hle/service/service.h')
-rw-r--r-- | src/core/hle/service/service.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/core/hle/service/service.h b/src/core/hle/service/service.h index ba5ba062e..2293b473a 100644 --- a/src/core/hle/service/service.h +++ b/src/core/hle/service/service.h @@ -38,6 +38,20 @@ public: */ ResultCode HandleSyncRequest(Kernel::SharedPtr<Kernel::ServerSession> server_session); + /** + * Signals that a client has just connected to this HLE handler and keeps the + * associated ServerSession alive for the duration of the connection. + * @param server_session Owning pointer to the ServerSession associated with the connection. + */ + void ClientConnected(Kernel::SharedPtr<Kernel::ServerSession> server_session); + + /** + * Signals that a client has just disconnected from this HLE handler and releases the + * associated ServerSession. + * @param server_session ServerSession associated with the connection. + */ + void ClientDisconnected(Kernel::SharedPtr<Kernel::ServerSession> server_session); + protected: /** * Handles a sync request from the emulated application and writes the response to the command buffer. @@ -55,6 +69,10 @@ private: * but once that is implemented we'll need to properly translate all descriptors in the command buffer. */ ResultCode TranslateRequest(Kernel::SharedPtr<Kernel::ServerSession> server_session); + + /// List of sessions that are connected to this handler. + /// A ServerSession whose server endpoint is an HLE implementation is kept alive by this list for the duration of the connection. + std::vector<Kernel::SharedPtr<Kernel::ServerSession>> connected_sessions; }; /** |