diff options
author | Subv <subv2112@gmail.com> | 2016-06-15 01:03:30 +0200 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-12-01 05:02:05 +0100 |
commit | 073653e858abf377fd1ebbdb071809c8830ce99d (patch) | |
tree | a29e1c1e50d53162ed89cd90e8c069525150392f /src/core/hle/kernel/client_session.h | |
parent | Merge pull request #2228 from freiro/winver_fix (diff) | |
download | yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.tar yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.tar.gz yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.tar.bz2 yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.tar.lz yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.tar.xz yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.tar.zst yuzu-073653e858abf377fd1ebbdb071809c8830ce99d.zip |
Diffstat (limited to 'src/core/hle/kernel/client_session.h')
-rw-r--r-- | src/core/hle/kernel/client_session.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/core/hle/kernel/client_session.h b/src/core/hle/kernel/client_session.h new file mode 100644 index 000000000..4fe9b4517 --- /dev/null +++ b/src/core/hle/kernel/client_session.h @@ -0,0 +1,50 @@ +// 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; +class ServerSession; + +class ClientSession final : public Object { +public: + /** + * Creates a client session. + * @param server_session The server session associated with this client session + * @param client_port The client port which this session is connected to + * @param name Optional name of client session + * @return The created client session + */ + static ResultVal<SharedPtr<ClientSession>> Create(SharedPtr<ServerSession> server_session, SharedPtr<ClientPort> client_port, std::string name = "Unknown"); + + std::string GetTypeName() const override { return "ClientSession"; } + std::string GetName() const override { return name; } + + static const HandleType HANDLE_TYPE = HandleType::ClientSession; + HandleType GetHandleType() const override { return HANDLE_TYPE; } + + /** + * Handle a SyncRequest from the emulated application. + * @return ResultCode of the operation. + */ + ResultCode HandleSyncRequest(); + + std::string name; ///< Name of client port (optional) + SharedPtr<ServerSession> server_session; ///< The server session associated with this client session. + SharedPtr<ClientPort> client_port; ///< The client port which this session is connected to. + +private: + ClientSession(); + ~ClientSession() override; +}; + +} // namespace |