summaryrefslogtreecommitdiffstats
path: root/src/core/hle/service/service.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2016-12-08 21:01:10 +0100
committerSubv <subv2112@gmail.com>2016-12-08 21:01:10 +0100
commit386112da3265d111595329508b860800e5cf14e8 (patch)
tree7cb27e289abd255ff7f371eff0f9d1ddd07b5d11 /src/core/hle/service/service.h
parentUse std::move where appropriate. (diff)
downloadyuzu-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 '')
-rw-r--r--src/core/hle/service/service.h18
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;
};
/**