diff options
author | Subv <subv2112@gmail.com> | 2016-12-14 18:33:49 +0100 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2016-12-14 18:45:36 +0100 |
commit | 016307ae656afc85ab59a5c2598205ef81f99231 (patch) | |
tree | ae2031654a2178e8ea824928be03fd8409f81222 /src/core/hle/kernel/server_session.h | |
parent | Moved the HLE command buffer translation task to ServerSession instead of the HLE handler superclass. (diff) | |
download | yuzu-016307ae656afc85ab59a5c2598205ef81f99231.tar yuzu-016307ae656afc85ab59a5c2598205ef81f99231.tar.gz yuzu-016307ae656afc85ab59a5c2598205ef81f99231.tar.bz2 yuzu-016307ae656afc85ab59a5c2598205ef81f99231.tar.lz yuzu-016307ae656afc85ab59a5c2598205ef81f99231.tar.xz yuzu-016307ae656afc85ab59a5c2598205ef81f99231.tar.zst yuzu-016307ae656afc85ab59a5c2598205ef81f99231.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/hle/kernel/server_session.h | 25 |
1 files changed, 15 insertions, 10 deletions
diff --git a/src/core/hle/kernel/server_session.h b/src/core/hle/kernel/server_session.h index 7abc09011..458284a5d 100644 --- a/src/core/hle/kernel/server_session.h +++ b/src/core/hle/kernel/server_session.h @@ -24,10 +24,10 @@ class ClientSession; * * To make a service call, the client must write the command header and parameters to the buffer * located at offset 0x80 of the TLS (Thread-Local Storage) area, then execute a SendSyncRequest - * SVC call with its ClientSession handle. The kernel will read the command header, using it to marshall - * the parameters to the process at the server endpoint of the session. After the server replies to - * the request, the response is marshalled back to the caller's TLS buffer and control is - * transferred back to it. + * SVC call with its ClientSession handle. The kernel will read the command header, using it to + * marshall the parameters to the process at the server endpoint of the session. + * After the server replies to the request, the response is marshalled back to the caller's + * TLS buffer and control is transferred back to it. */ class ServerSession final : public WaitObject { public: @@ -47,7 +47,9 @@ public: * @param name Optional name of the ports * @return The created session tuple */ - static SessionPair CreateSessionPair(const std::string& name = "Unknown", std::shared_ptr<Service::SessionRequestHandler> hle_handler = nullptr); + static SessionPair CreateSessionPair( + const std::string& name = "Unknown", + std::shared_ptr<Service::SessionRequestHandler> hle_handler = nullptr); /** * Handle a sync request from the emulated application. @@ -61,7 +63,8 @@ public: std::string name; ///< The name of this session (optional) bool signaled; ///< Whether there's new data available to this ServerSession - std::shared_ptr<Service::SessionRequestHandler> hle_handler; ///< This session's HLE request handler (optional) + std::shared_ptr<Service::SessionRequestHandler> + hle_handler; ///< This session's HLE request handler (optional) private: ServerSession(); @@ -74,16 +77,18 @@ private: * @param hle_handler Optional HLE handler for this server session. * @return The created server session */ - static ResultVal<SharedPtr<ServerSession>> Create(std::string name = "Unknown", std::shared_ptr<Service::SessionRequestHandler> hle_handler = nullptr); + static ResultVal<SharedPtr<ServerSession>> Create( + std::string name = "Unknown", + std::shared_ptr<Service::SessionRequestHandler> hle_handler = nullptr); }; /** * Performs command buffer translation for an HLE IPC request. * The command buffer from the ServerSession thread's TLS is copied into a * buffer and all descriptors in the buffer are processed. - * TODO(Subv): Implement this function, currently we do not support multiple processes running at once, - * but once that is implemented we'll need to properly translate all descriptors in the command buffer. + * TODO(Subv): Implement this function, currently we do not support multiple processes running at + * once, but once that is implemented we'll need to properly translate all descriptors + * in the command buffer. */ ResultCode TranslateHLERequest(ServerSession* server_session); - } |