aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/client_port.h
diff options
context:
space:
mode:
authorSubv <subv2112@gmail.com>2016-05-22 11:22:49 -0500
committerSubv <subv2112@gmail.com>2016-06-05 09:35:31 -0500
commit3d9fbffbabbe2125ae6208d2d0049552e9293e49 (patch)
tree3a3d81d602b210bbf38323dd4898ff5225bf8754 /src/core/hle/kernel/client_port.h
parent8df4283b19763ceb35615134c3b0c2494c2cb6f8 (diff)
Kernel: Added ClientPort and ServerPort classes.
This is part of an ongoing effort to implement support for multiple processes.
Diffstat (limited to 'src/core/hle/kernel/client_port.h')
-rw-r--r--src/core/hle/kernel/client_port.h34
1 files changed, 34 insertions, 0 deletions
diff --git a/src/core/hle/kernel/client_port.h b/src/core/hle/kernel/client_port.h
new file mode 100644
index 000000000..b3d15cfc5
--- /dev/null
+++ b/src/core/hle/kernel/client_port.h
@@ -0,0 +1,34 @@
+// Copyright 2016 Citra Emulator Project
+// Licensed under GPLv2 or any later version
+// Refer to the license.txt file included.
+
+#pragma once
+
+#include <string>
+
+#include "common/common_types.h"
+
+#include "core/hle/kernel/kernel.h"
+
+namespace Kernel {
+
+class ClientPort : public Object {
+public:
+ friend class ServerPort;
+ std::string GetTypeName() const override { return "ClientPort"; }
+ std::string GetName() const override { return name; }
+
+ static const HandleType HANDLE_TYPE = HandleType::ClientPort;
+ HandleType GetHandleType() const override { return HANDLE_TYPE; }
+
+ SharedPtr<ServerPort> server_port; ///< ServerPort associated with this client port.
+ 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)
+
+protected:
+ ClientPort();
+ ~ClientPort() override;
+};
+
+} // namespace