Cleanup
This commit is contained in:
		| @@ -100,6 +100,7 @@ private: | ||||
|  | ||||
|     u32 sample_rate;                          ///< Sample rate of the stream | ||||
|     Format format;                            ///< Format of the stream | ||||
|     float game_volume = 1.0f;                 ///< The volume the game currently has set | ||||
|     ReleaseCallback release_callback;         ///< Buffer release callback for the stream | ||||
|     State state{State::Stopped};              ///< Playback state of the stream | ||||
|     Core::Timing::EventType* release_event{}; ///< Core timing release event for the stream | ||||
| @@ -109,7 +110,6 @@ private: | ||||
|     SinkStream& sink_stream;                  ///< Output sink for the stream | ||||
|     Core::Timing::CoreTiming& core_timing;    ///< Core timing instance. | ||||
|     std::string name;                         ///< Name of the stream, must be unique | ||||
|     float game_volume = 1.0f;                 ///< The volume the game currently has set | ||||
| }; | ||||
|  | ||||
| using StreamPtr = std::shared_ptr<Stream>; | ||||
|   | ||||
| @@ -233,13 +233,13 @@ void Module::Interface::GetBaasAccountManagerForApplication(Kernel::HLERequestCo | ||||
| void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_ACC, "called"); | ||||
|     FileSys::NACP nacp; | ||||
|     const auto res = Core::System::GetInstance().GetAppLoader().ReadControlData(nacp); | ||||
|     const auto res = system.GetAppLoader().ReadControlData(nacp); | ||||
|  | ||||
|     bool is_locked = false; | ||||
|  | ||||
|     if (res != Loader::ResultStatus::Success) { | ||||
|         FileSys::PatchManager pm{Core::CurrentProcess()->GetTitleID()}; | ||||
|         auto [nacp_unique, discard] = pm.GetControlMetadata(); | ||||
|         FileSys::PatchManager pm{system.CurrentProcess()->GetTitleID()}; | ||||
|         auto nacp_unique = pm.GetControlMetadata().first; | ||||
|  | ||||
|         if (nacp_unique != nullptr) { | ||||
|             is_locked = nacp_unique->GetUserAccountSwitchLock(); | ||||
| @@ -250,7 +250,7 @@ void Module::Interface::IsUserAccountSwitchLocked(Kernel::HLERequestContext& ctx | ||||
|  | ||||
|     IPC::ResponseBuilder rb{ctx, 3}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
|     rb.PushRaw<u8>(is_locked); | ||||
|     rb.Push(is_locked); | ||||
| } | ||||
|  | ||||
| void Module::Interface::TrySelectUserWithoutInteraction(Kernel::HLERequestContext& ctx) { | ||||
| @@ -278,19 +278,22 @@ void Module::Interface::TrySelectUserWithoutInteraction(Kernel::HLERequestContex | ||||
| } | ||||
|  | ||||
| Module::Interface::Interface(std::shared_ptr<Module> module, | ||||
|                              std::shared_ptr<ProfileManager> profile_manager, const char* name) | ||||
|                              std::shared_ptr<ProfileManager> profile_manager, Core::System& system, | ||||
|                              const char* name) | ||||
|     : ServiceFramework(name), module(std::move(module)), | ||||
|       profile_manager(std::move(profile_manager)) {} | ||||
|       profile_manager(std::move(profile_manager)), system(system) {} | ||||
|  | ||||
| Module::Interface::~Interface() = default; | ||||
|  | ||||
| void InstallInterfaces(SM::ServiceManager& service_manager) { | ||||
|     auto module = std::make_shared<Module>(); | ||||
|     auto profile_manager = std::make_shared<ProfileManager>(); | ||||
|     std::make_shared<ACC_AA>(module, profile_manager)->InstallAsService(service_manager); | ||||
|     std::make_shared<ACC_SU>(module, profile_manager)->InstallAsService(service_manager); | ||||
|     std::make_shared<ACC_U0>(module, profile_manager)->InstallAsService(service_manager); | ||||
|     std::make_shared<ACC_U1>(module, profile_manager)->InstallAsService(service_manager); | ||||
|     Core::System& system = Core::System::GetInstance(); | ||||
|  | ||||
|     std::make_shared<ACC_AA>(module, profile_manager, system)->InstallAsService(service_manager); | ||||
|     std::make_shared<ACC_SU>(module, profile_manager, system)->InstallAsService(service_manager); | ||||
|     std::make_shared<ACC_U0>(module, profile_manager, system)->InstallAsService(service_manager); | ||||
|     std::make_shared<ACC_U1>(module, profile_manager, system)->InstallAsService(service_manager); | ||||
| } | ||||
|  | ||||
| } // namespace Service::Account | ||||
|   | ||||
| @@ -15,7 +15,8 @@ public: | ||||
|     class Interface : public ServiceFramework<Interface> { | ||||
|     public: | ||||
|         explicit Interface(std::shared_ptr<Module> module, | ||||
|                            std::shared_ptr<ProfileManager> profile_manager, const char* name); | ||||
|                            std::shared_ptr<ProfileManager> profile_manager, Core::System& system, | ||||
|                            const char* name); | ||||
|         ~Interface() override; | ||||
|  | ||||
|         void GetUserCount(Kernel::HLERequestContext& ctx); | ||||
| @@ -33,6 +34,7 @@ public: | ||||
|     protected: | ||||
|         std::shared_ptr<Module> module; | ||||
|         std::shared_ptr<ProfileManager> profile_manager; | ||||
|         Core::System& system; | ||||
|     }; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -6,8 +6,9 @@ | ||||
|  | ||||
| namespace Service::Account { | ||||
|  | ||||
| ACC_AA::ACC_AA(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), "acc:aa") { | ||||
| ACC_AA::ACC_AA(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                Core::System& system) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), system, "acc:aa") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, nullptr, "EnsureCacheAsync"}, | ||||
|         {1, nullptr, "LoadCache"}, | ||||
|   | ||||
| @@ -10,8 +10,8 @@ namespace Service::Account { | ||||
|  | ||||
| class ACC_AA final : public Module::Interface { | ||||
| public: | ||||
|     explicit ACC_AA(std::shared_ptr<Module> module, | ||||
|                     std::shared_ptr<ProfileManager> profile_manager); | ||||
|     explicit ACC_AA(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                     Core::System& system); | ||||
|     ~ACC_AA() override; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -6,8 +6,9 @@ | ||||
|  | ||||
| namespace Service::Account { | ||||
|  | ||||
| ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), "acc:su") { | ||||
| ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                Core::System& system) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), system, "acc:su") { | ||||
|     // clang-format off | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, &ACC_SU::GetUserCount, "GetUserCount"}, | ||||
|   | ||||
| @@ -10,8 +10,8 @@ namespace Service::Account { | ||||
|  | ||||
| class ACC_SU final : public Module::Interface { | ||||
| public: | ||||
|     explicit ACC_SU(std::shared_ptr<Module> module, | ||||
|                     std::shared_ptr<ProfileManager> profile_manager); | ||||
|     explicit ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                     Core::System& system); | ||||
|     ~ACC_SU() override; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -6,8 +6,9 @@ | ||||
|  | ||||
| namespace Service::Account { | ||||
|  | ||||
| ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), "acc:u0") { | ||||
| ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                Core::System& system) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), system, "acc:u0") { | ||||
|     // clang-format off | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, &ACC_U0::GetUserCount, "GetUserCount"}, | ||||
|   | ||||
| @@ -10,8 +10,8 @@ namespace Service::Account { | ||||
|  | ||||
| class ACC_U0 final : public Module::Interface { | ||||
| public: | ||||
|     explicit ACC_U0(std::shared_ptr<Module> module, | ||||
|                     std::shared_ptr<ProfileManager> profile_manager); | ||||
|     explicit ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                     Core::System& system); | ||||
|     ~ACC_U0() override; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -6,8 +6,9 @@ | ||||
|  | ||||
| namespace Service::Account { | ||||
|  | ||||
| ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), "acc:u1") { | ||||
| ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                Core::System& system) | ||||
|     : Module::Interface(std::move(module), std::move(profile_manager), system, "acc:u1") { | ||||
|     // clang-format off | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, &ACC_U1::GetUserCount, "GetUserCount"}, | ||||
|   | ||||
| @@ -10,8 +10,8 @@ namespace Service::Account { | ||||
|  | ||||
| class ACC_U1 final : public Module::Interface { | ||||
| public: | ||||
|     explicit ACC_U1(std::shared_ptr<Module> module, | ||||
|                     std::shared_ptr<ProfileManager> profile_manager); | ||||
|     explicit ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> profile_manager, | ||||
|                     Core::System& system); | ||||
|     ~ACC_U1() override; | ||||
| }; | ||||
|  | ||||
|   | ||||
| @@ -185,7 +185,7 @@ private: | ||||
|  | ||||
|     void SetAudioOutVolume(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::RequestParser rp{ctx}; | ||||
|         float volume = rp.PopRaw<float>(); | ||||
|         const float volume = rp.Pop<float>(); | ||||
|         LOG_DEBUG(Service_Audio, "called, volume={}", volume); | ||||
|  | ||||
|         stream->SetVolume(volume); | ||||
| @@ -199,7 +199,7 @@ private: | ||||
|  | ||||
|         IPC::ResponseBuilder rb{ctx, 3}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         rb.PushRaw<float>(stream->GetVolume()); | ||||
|         rb.Push(stream->GetVolume()); | ||||
|     } | ||||
|  | ||||
|     AudioCore::AudioOut& audio_core; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user