aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/server_session.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-08-30 10:02:50 -0400
committerGitHub <noreply@github.com>2018-08-30 10:02:50 -0400
commit5094dfa081c7275e35496374a42996b11f0f6005 (patch)
tree8cdfb8c270c6299a1b172fb9c14856684bedf084 /src/core/hle/kernel/server_session.h
parent42ef40884f222bfd0dfa08cd56e01e89b0e2ab0f (diff)
parent0cbcd6ec9aeeafc298fe2e6e4ac10d68bb7267c5 (diff)
Merge pull request #1198 from lioncash/kernel
kernel: Eliminate kernel global state
Diffstat (limited to 'src/core/hle/kernel/server_session.h')
-rw-r--r--src/core/hle/kernel/server_session.h14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/core/hle/kernel/server_session.h b/src/core/hle/kernel/server_session.h
index 1a88e66b9..e068db2bf 100644
--- a/src/core/hle/kernel/server_session.h
+++ b/src/core/hle/kernel/server_session.h
@@ -15,13 +15,14 @@
namespace Kernel {
-class ClientSession;
class ClientPort;
+class ClientSession;
+class HLERequestContext;
+class KernelCore;
class ServerSession;
class Session;
class SessionRequestHandler;
class Thread;
-class HLERequestContext;
/**
* Kernel object representing the server endpoint of an IPC session. Sessions are the basic CTR-OS
@@ -50,11 +51,12 @@ public:
/**
* Creates a pair of ServerSession and an associated ClientSession.
+ * @param kernel The kernal instance to create the session pair under.
* @param name Optional name of the ports.
* @param client_port Optional The ClientPort that spawned this session.
* @return The created session tuple
*/
- static SessionPair CreateSessionPair(const std::string& name = "Unknown",
+ static SessionPair CreateSessionPair(KernelCore& kernel, const std::string& name = "Unknown",
SharedPtr<ClientPort> client_port = nullptr);
/**
@@ -111,16 +113,18 @@ public:
}
private:
- ServerSession();
+ explicit ServerSession(KernelCore& kernel);
~ServerSession() override;
/**
* Creates a server session. The server session can have an optional HLE handler,
* which will be invoked to handle the IPC requests that this session receives.
+ * @param kernel The kernel instance to create this server session under.
* @param name Optional name of the server session.
* @return The created server session
*/
- static ResultVal<SharedPtr<ServerSession>> Create(std::string name = "Unknown");
+ static ResultVal<SharedPtr<ServerSession>> Create(KernelCore& kernel,
+ std::string name = "Unknown");
/// Handles a SyncRequest to a domain, forwarding the request to the proper object or closing an
/// object handle.