diff options
author | bunnei <bunneidev@gmail.com> | 2017-10-15 04:18:42 +0200 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2017-10-15 04:18:42 +0200 |
commit | 960a1416de3780e91855d9389c4534acf8c061df (patch) | |
tree | 6b373fed639eb39098ba33e6247893919005a2c8 /src/core/hle/service/sm/sm.h | |
parent | nso: Add a log for loading submodules. (diff) | |
download | yuzu-960a1416de3780e91855d9389c4534acf8c061df.tar yuzu-960a1416de3780e91855d9389c4534acf8c061df.tar.gz yuzu-960a1416de3780e91855d9389c4534acf8c061df.tar.bz2 yuzu-960a1416de3780e91855d9389c4534acf8c061df.tar.lz yuzu-960a1416de3780e91855d9389c4534acf8c061df.tar.xz yuzu-960a1416de3780e91855d9389c4534acf8c061df.tar.zst yuzu-960a1416de3780e91855d9389c4534acf8c061df.zip |
Diffstat (limited to 'src/core/hle/service/sm/sm.h')
-rw-r--r-- | src/core/hle/service/sm/sm.h | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/src/core/hle/service/sm/sm.h b/src/core/hle/service/sm/sm.h index 9f60a7965..eaae68ca1 100644 --- a/src/core/hle/service/sm/sm.h +++ b/src/core/hle/service/sm/sm.h @@ -20,7 +20,20 @@ class SessionRequestHandler; namespace Service { namespace SM { -class SRV; +/// Interface to "sm:" service +class SM final : public ServiceFramework<SM> { +public: + explicit SM(std::shared_ptr<ServiceManager> service_manager); + ~SM(); + +private: + void Initialize(Kernel::HLERequestContext& ctx); + void GetService(Kernel::HLERequestContext& ctx); + + std::shared_ptr<ServiceManager> service_manager; +}; + +class Controller; constexpr ResultCode ERR_SERVICE_NOT_REGISTERED(1, ErrorModule::SRV, ErrorSummary::WouldBlock, ErrorLevel::Temporary); // 0xD0406401 @@ -45,8 +58,11 @@ public: ResultVal<Kernel::SharedPtr<Kernel::ClientPort>> GetServicePort(const std::string& name); ResultVal<Kernel::SharedPtr<Kernel::ClientSession>> ConnectToService(const std::string& name); + void InvokeControlRequest(Kernel::HLERequestContext& context); + private: - std::weak_ptr<SRV> srv_interface; + std::weak_ptr<SM> sm_interface; + std::unique_ptr<Controller> controller_interface; /// Map of registered services, retrieved using GetServicePort or ConnectToService. std::unordered_map<std::string, Kernel::SharedPtr<Kernel::ClientPort>> registered_services; |