aboutsummaryrefslogtreecommitdiff
path: root/src/core/hle/kernel/hle_ipc.h
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2018-01-24 23:09:03 -0500
committerGitHub <noreply@github.com>2018-01-24 23:09:03 -0500
commit748c0de539674dc8ca4a5a8aadd2a61b0eabe652 (patch)
treeae56efe8654d3aa3a5e75ec04bd9dfdcc06023a9 /src/core/hle/kernel/hle_ipc.h
parent44eb8402322a47a52f0401f9ef7473bea719e2bf (diff)
parentde177f66926a5170c1ad0621085494d27de8e2d4 (diff)
Merge pull request #137 from bunnei/improve-ipc
Improve IPC, unify Domains and Sessions, and add validation
Diffstat (limited to 'src/core/hle/kernel/hle_ipc.h')
-rw-r--r--src/core/hle/kernel/hle_ipc.h27
1 files changed, 13 insertions, 14 deletions
diff --git a/src/core/hle/kernel/hle_ipc.h b/src/core/hle/kernel/hle_ipc.h
index 80fa48d7f..da8335b35 100644
--- a/src/core/hle/kernel/hle_ipc.h
+++ b/src/core/hle/kernel/hle_ipc.h
@@ -86,7 +86,6 @@ protected:
*/
class HLERequestContext {
public:
- HLERequestContext(SharedPtr<Kernel::Domain> domain);
HLERequestContext(SharedPtr<Kernel::ServerSession> session);
~HLERequestContext();
@@ -96,17 +95,10 @@ public:
}
/**
- * Returns the domain through which this request was made.
- */
- const SharedPtr<Kernel::Domain>& Domain() const {
- return domain;
- }
-
- /**
* Returns the session through which this request was made. This can be used as a map key to
* access per-client data on services.
*/
- const SharedPtr<Kernel::ServerSession>& ServerSession() const {
+ const SharedPtr<Kernel::ServerSession>& Session() const {
return server_session;
}
@@ -151,10 +143,6 @@ public:
return domain_message_header;
}
- bool IsDomain() const {
- return domain != nullptr;
- }
-
template <typename T>
SharedPtr<T> GetCopyObject(size_t index) {
ASSERT(index < copy_objects.size());
@@ -187,9 +175,20 @@ public:
domain_objects.clear();
}
+ size_t NumMoveObjects() const {
+ return move_objects.size();
+ }
+
+ size_t NumCopyObjects() const {
+ return copy_objects.size();
+ }
+
+ size_t NumDomainObjects() const {
+ return domain_objects.size();
+ }
+
private:
std::array<u32, IPC::COMMAND_BUFFER_LENGTH> cmd_buf;
- SharedPtr<Kernel::Domain> domain;
SharedPtr<Kernel::ServerSession> server_session;
// TODO(yuriks): Check common usage of this and optimize size accordingly
boost::container::small_vector<SharedPtr<Object>, 8> move_objects;