diff options
| author | 2017-01-04 23:23:17 -0500 | |
|---|---|---|
| committer | 2017-05-15 11:22:15 -0500 | |
| commit | ddfabf31330c0c8e0558a714b6d7e1f1948b73ed (patch) | |
| tree | 62c525537f603fe85f494f9fb6e622ffcd2afda9 /src/core/hle/kernel/session.h | |
| parent | Merge pull request #2659 from MerryMage/dsp_dsp-correction (diff) | |
| download | yuzu-ddfabf31330c0c8e0558a714b6d7e1f1948b73ed.tar.gz yuzu-ddfabf31330c0c8e0558a714b6d7e1f1948b73ed.tar.xz yuzu-ddfabf31330c0c8e0558a714b6d7e1f1948b73ed.zip | |
Kernel: Use a Session object to keep track of the status of a Client/Server session pair.
Reduce the associated port's connection count when a ServerSession is destroyed.
Diffstat (limited to 'src/core/hle/kernel/session.h')
| -rw-r--r-- | src/core/hle/kernel/session.h | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/core/hle/kernel/session.h b/src/core/hle/kernel/session.h new file mode 100644 index 000000000..a45e78022 --- /dev/null +++ b/src/core/hle/kernel/session.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | // Copyright 2017 Citra Emulator Project | ||
| 2 | // Licensed under GPLv2 or any later version | ||
| 3 | // Refer to the license.txt file included. | ||
| 4 | |||
| 5 | #pragma once | ||
| 6 | |||
| 7 | #include "core/hle/kernel/kernel.h" | ||
| 8 | |||
| 9 | namespace Kernel { | ||
| 10 | |||
| 11 | class ClientSession; | ||
| 12 | class ClientPort; | ||
| 13 | class ServerSession; | ||
| 14 | |||
| 15 | /** | ||
| 16 | * Parent structure to link the client and server endpoints of a session with their associated | ||
| 17 | * client port. The client port need not exist, as is the case for portless sessions like the | ||
| 18 | * FS File and Directory sessions. When one of the endpoints of a session is destroyed, its | ||
| 19 | * corresponding field in this structure will be set to nullptr. | ||
| 20 | */ | ||
| 21 | class Session final { | ||
| 22 | public: | ||
| 23 | ClientSession* client = nullptr; ///< The client endpoint of the session. | ||
| 24 | ServerSession* server = nullptr; ///< The server endpoint of the session. | ||
| 25 | SharedPtr<ClientPort> port; ///< The port that this session is associated with (optional). | ||
| 26 | }; | ||
| 27 | } | ||