summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/session.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/hle/kernel/session.h')
-rw-r--r--src/core/hle/kernel/session.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/hle/kernel/session.h b/src/core/hle/kernel/session.h
new file mode 100644
index 000000000..a45e78022
--- /dev/null
+++ b/src/core/hle/kernel/session.h
@@ -0,0 +1,27 @@
+// Copyright 2017 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include "core/hle/kernel/kernel.h"
+
+namespace Kernel {
+
+class ClientSession;
+class ClientPort;
+class ServerSession;
+
+/**
+ * Parent structure to link the client and server endpoints of a session with their associated
+ * client port. The client port need not exist, as is the case for portless sessions like the
+ * FS File and Directory sessions. When one of the endpoints of a session is destroyed, its
+ * corresponding field in this structure will be set to nullptr.
+ */
+class Session final {
+public:
+ ClientSession* client = nullptr; ///< The client endpoint of the session.
+ ServerSession* server = nullptr; ///< The server endpoint of the session.
+ SharedPtr<ClientPort> port; ///< The port that this session is associated with (optional).
+};
+}