summaryrefslogtreecommitdiffstats
path: root/src/core/hle/kernel/hle_ipc.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2021-04-04 06:21:22 +0200
committerbunnei <bunneidev@gmail.com>2021-05-06 01:40:50 +0200
commit5e5933256b022f6890fc3f14164ae9e9c3ee9ae3 (patch)
treef65bdacde0afe5465446f90e26f2da1b8126cda9 /src/core/hle/kernel/hle_ipc.h
parenthle: kernel: Migrate more of KThread to KAutoObject. (diff)
downloadyuzu-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.h19
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) {