|
|
@@ -84,6 +84,7 @@ protected:
|
|
|
*/
|
|
|
class HLERequestContext {
|
|
|
public:
|
|
|
+ HLERequestContext(SharedPtr<ServerSession> session);
|
|
|
~HLERequestContext();
|
|
|
|
|
|
/// Returns a pointer to the IPC command buffer for this request.
|
|
|
@@ -118,14 +119,14 @@ public:
|
|
|
*/
|
|
|
void ClearIncomingObjects();
|
|
|
|
|
|
-private:
|
|
|
- friend class Service::ServiceFrameworkBase;
|
|
|
-
|
|
|
+ /// Populates this context with data from the requesting process/thread.
|
|
|
ResultCode PopulateFromIncomingCommandBuffer(const u32_le* src_cmdbuf, Process& src_process,
|
|
|
HandleTable& src_table);
|
|
|
+ /// Writes data from this context back to the requesting process/thread.
|
|
|
ResultCode WriteToOutgoingCommandBuffer(u32_le* dst_cmdbuf, Process& dst_process,
|
|
|
HandleTable& dst_table) const;
|
|
|
|
|
|
+private:
|
|
|
std::array<u32, IPC::COMMAND_BUFFER_LENGTH> cmd_buf;
|
|
|
SharedPtr<ServerSession> session;
|
|
|
// TODO(yuriks): Check common usage of this and optimize size accordingly
|