diff options
author | bunnei <bunneidev@gmail.com> | 2021-04-04 06:21:22 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2021-05-06 01:40:50 +0200 |
commit | 5e5933256b022f6890fc3f14164ae9e9c3ee9ae3 (patch) | |
tree | f65bdacde0afe5465446f90e26f2da1b8126cda9 /src/core/hle/kernel/hle_ipc.h | |
parent | hle: kernel: Migrate more of KThread to KAutoObject. (diff) | |
download | yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.tar yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.tar.gz yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.tar.bz2 yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.tar.lz yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.tar.xz yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.tar.zst yuzu-5e5933256b022f6890fc3f14164ae9e9c3ee9ae3.zip |
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.h')
-rw-r--r-- | src/core/hle/kernel/hle_ipc.h | 19 |
1 files changed, 11 insertions, 8 deletions
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h index 398f1c467..74a95bc76 100644 --- a/src/core/hle/kernel/hle_ipc.h +++ b/src/core/hle/kernel/hle_ipc.h @@ -39,6 +39,7 @@ class HandleTable; class HLERequestContext; class KernelCore; class Process; +class ClientSession; class ServerSession; class KThread; class KReadableEvent; @@ -71,7 +72,8 @@ public: * associated ServerSession alive for the duration of the connection. * @param server_session Owning pointer to the ServerSession associated with the connection. */ - void ClientConnected(std::shared_ptr<ServerSession> server_session); + void ClientConnected( + std::shared_ptr<ClientSession> client_session, std::shared_ptr<ServerSession> server_session); /** * Signals that a client has just disconnected from this HLE handler and releases the @@ -84,7 +86,8 @@ protected: /// 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<std::shared_ptr<ServerSession>> connected_sessions; + std::vector<std::shared_ptr<ClientSession>> client_sessions; + std::vector<std::shared_ptr<ServerSession>> server_sessions; }; /** @@ -218,21 +221,21 @@ public: } template <typename T> - std::shared_ptr<T> GetCopyObject(std::size_t index) { + T* GetCopyObject(std::size_t index) { return DynamicObjectCast<T>(copy_objects.at(index)); } template <typename T> - std::shared_ptr<T> GetMoveObject(std::size_t index) { + T* GetMoveObject(std::size_t index) { return DynamicObjectCast<T>(move_objects.at(index)); } - void AddMoveObject(std::shared_ptr<Object> object) { - move_objects.emplace_back(std::move(object)); + void AddMoveObject(Object* object) { + move_objects.emplace_back(object); } - void AddCopyObject(std::shared_ptr<Object> object) { - copy_objects.emplace_back(std::move(object)); + void AddCopyObject(Object* object) { + copy_objects.emplace_back(object); } void AddDomainObject(std::shared_ptr<SessionRequestHandler> object) { |