mirror of
				https://git.tardis.systems/mirrors/yuzu
				synced 2025-10-31 02:34:11 +01:00 
			
		
		
		
	am: rewrite ILibraryAppletProxy
This commit is contained in:
		
							parent
							
								
									c7e97b22fb
								
							
						
					
					
						commit
						c809f7193a
					
				| @ -449,8 +449,6 @@ add_library(core STATIC | ||||
|     hle/service/am/library_applet_accessor.h | ||||
|     hle/service/am/library_applet_creator.cpp | ||||
|     hle/service/am/library_applet_creator.h | ||||
|     hle/service/am/library_applet_proxy.cpp | ||||
|     hle/service/am/library_applet_proxy.h | ||||
|     hle/service/am/library_applet_self_accessor.cpp | ||||
|     hle/service/am/library_applet_self_accessor.h | ||||
|     hle/service/am/library_applet_storage.cpp | ||||
| @ -473,6 +471,8 @@ add_library(core STATIC | ||||
|     hle/service/am/service/application_proxy_service.h | ||||
|     hle/service/am/service/application_proxy.cpp | ||||
|     hle/service/am/service/application_proxy.h | ||||
|     hle/service/am/service/library_applet_proxy.cpp | ||||
|     hle/service/am/service/library_applet_proxy.h | ||||
|     hle/service/am/system_applet_proxy.cpp | ||||
|     hle/service/am/system_applet_proxy.h | ||||
|     hle/service/am/system_buffer_manager.cpp | ||||
|  | ||||
| @ -1,143 +0,0 @@ | ||||
| // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #include "core/hle/service/am/applet_common_functions.h" | ||||
| #include "core/hle/service/am/audio_controller.h" | ||||
| #include "core/hle/service/am/common_state_getter.h" | ||||
| #include "core/hle/service/am/debug_functions.h" | ||||
| #include "core/hle/service/am/display_controller.h" | ||||
| #include "core/hle/service/am/global_state_controller.h" | ||||
| #include "core/hle/service/am/home_menu_functions.h" | ||||
| #include "core/hle/service/am/library_applet_creator.h" | ||||
| #include "core/hle/service/am/library_applet_proxy.h" | ||||
| #include "core/hle/service/am/library_applet_self_accessor.h" | ||||
| #include "core/hle/service/am/process_winding_controller.h" | ||||
| #include "core/hle/service/am/self_controller.h" | ||||
| #include "core/hle/service/am/window_controller.h" | ||||
| #include "core/hle/service/ipc_helpers.h" | ||||
| 
 | ||||
| namespace Service::AM { | ||||
| 
 | ||||
| ILibraryAppletProxy::ILibraryAppletProxy(Nvnflinger::Nvnflinger& nvnflinger_, | ||||
|                                          std::shared_ptr<Applet> applet_, Core::System& system_) | ||||
|     : ServiceFramework{system_, "ILibraryAppletProxy"}, nvnflinger{nvnflinger_}, applet{std::move( | ||||
|                                                                                      applet_)} { | ||||
|     // clang-format off
 | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, &ILibraryAppletProxy::GetCommonStateGetter, "GetCommonStateGetter"}, | ||||
|             {1, &ILibraryAppletProxy::GetSelfController, "GetSelfController"}, | ||||
|             {2, &ILibraryAppletProxy::GetWindowController, "GetWindowController"}, | ||||
|             {3, &ILibraryAppletProxy::GetAudioController, "GetAudioController"}, | ||||
|             {4, &ILibraryAppletProxy::GetDisplayController, "GetDisplayController"}, | ||||
|             {10, &ILibraryAppletProxy::GetProcessWindingController, "GetProcessWindingController"}, | ||||
|             {11, &ILibraryAppletProxy::GetLibraryAppletCreator, "GetLibraryAppletCreator"}, | ||||
|             {20, &ILibraryAppletProxy::OpenLibraryAppletSelfAccessor, "OpenLibraryAppletSelfAccessor"}, | ||||
|             {21, &ILibraryAppletProxy::GetAppletCommonFunctions, "GetAppletCommonFunctions"}, | ||||
|             {22, &ILibraryAppletProxy::GetHomeMenuFunctions, "GetHomeMenuFunctions"}, | ||||
|             {23, &ILibraryAppletProxy::GetGlobalStateController, "GetGlobalStateController"}, | ||||
|             {1000, &ILibraryAppletProxy::GetDebugFunctions, "GetDebugFunctions"}, | ||||
|         }; | ||||
|     // clang-format on
 | ||||
| 
 | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| ILibraryAppletProxy::~ILibraryAppletProxy() = default; | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetCommonStateGetter(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<ICommonStateGetter>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetSelfController(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<ISelfController>(system, applet, nvnflinger); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetWindowController(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IWindowController>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetAudioController(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IAudioController>(system); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetDisplayController(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IDisplayController>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetProcessWindingController(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IProcessWindingController>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetLibraryAppletCreator(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<ILibraryAppletCreator>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::OpenLibraryAppletSelfAccessor(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<ILibraryAppletSelfAccessor>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetAppletCommonFunctions(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IAppletCommonFunctions>(system, applet); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetHomeMenuFunctions(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IHomeMenuFunctions>(system); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetGlobalStateController(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IGlobalStateController>(system); | ||||
| } | ||||
| 
 | ||||
| void ILibraryAppletProxy::GetDebugFunctions(HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|     rb.Push(ResultSuccess); | ||||
|     rb.PushIpcInterface<IDebugFunctions>(system); | ||||
| } | ||||
| 
 | ||||
| } // namespace Service::AM
 | ||||
| @ -1,36 +0,0 @@ | ||||
| // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/service/service.h" | ||||
| 
 | ||||
| namespace Service::AM { | ||||
| 
 | ||||
| struct Applet; | ||||
| 
 | ||||
| class ILibraryAppletProxy final : public ServiceFramework<ILibraryAppletProxy> { | ||||
| public: | ||||
|     explicit ILibraryAppletProxy(Nvnflinger::Nvnflinger& nvnflinger_, | ||||
|                                  std::shared_ptr<Applet> applet_, Core::System& system_); | ||||
|     ~ILibraryAppletProxy(); | ||||
| 
 | ||||
| private: | ||||
|     void GetCommonStateGetter(HLERequestContext& ctx); | ||||
|     void GetSelfController(HLERequestContext& ctx); | ||||
|     void GetWindowController(HLERequestContext& ctx); | ||||
|     void GetAudioController(HLERequestContext& ctx); | ||||
|     void GetDisplayController(HLERequestContext& ctx); | ||||
|     void GetProcessWindingController(HLERequestContext& ctx); | ||||
|     void GetLibraryAppletCreator(HLERequestContext& ctx); | ||||
|     void OpenLibraryAppletSelfAccessor(HLERequestContext& ctx); | ||||
|     void GetAppletCommonFunctions(HLERequestContext& ctx); | ||||
|     void GetHomeMenuFunctions(HLERequestContext& ctx); | ||||
|     void GetGlobalStateController(HLERequestContext& ctx); | ||||
|     void GetDebugFunctions(HLERequestContext& ctx); | ||||
| 
 | ||||
|     Nvnflinger::Nvnflinger& nvnflinger; | ||||
|     std::shared_ptr<Applet> applet; | ||||
| }; | ||||
| 
 | ||||
| } // namespace Service::AM
 | ||||
| @ -3,8 +3,8 @@ | ||||
| 
 | ||||
| #include "core/core.h" | ||||
| #include "core/hle/service/am/applet_manager.h" | ||||
| #include "core/hle/service/am/library_applet_proxy.h" | ||||
| #include "core/hle/service/am/service/all_system_applet_proxies_service.h" | ||||
| #include "core/hle/service/am/service/library_applet_proxy.h" | ||||
| #include "core/hle/service/am/system_applet_proxy.h" | ||||
| #include "core/hle/service/cmif_serialization.h" | ||||
| 
 | ||||
| @ -53,8 +53,8 @@ Result IAllSystemAppletProxiesService::OpenLibraryAppletProxy( | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| 
 | ||||
|     if (const auto applet = this->GetAppletFromProcessId(pid); applet) { | ||||
|         *out_library_applet_proxy = | ||||
|             std::make_shared<ILibraryAppletProxy>(m_nvnflinger, applet, system); | ||||
|         *out_library_applet_proxy = std::make_shared<ILibraryAppletProxy>( | ||||
|             system, applet, process_handle.Get(), m_nvnflinger); | ||||
|         R_SUCCEED(); | ||||
|     } else { | ||||
|         UNIMPLEMENTED(); | ||||
|  | ||||
							
								
								
									
										133
									
								
								src/core/hle/service/am/service/library_applet_proxy.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										133
									
								
								src/core/hle/service/am/service/library_applet_proxy.cpp
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,133 @@ | ||||
| // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #include "core/hle/service/am/applet_common_functions.h" | ||||
| #include "core/hle/service/am/audio_controller.h" | ||||
| #include "core/hle/service/am/common_state_getter.h" | ||||
| #include "core/hle/service/am/debug_functions.h" | ||||
| #include "core/hle/service/am/display_controller.h" | ||||
| #include "core/hle/service/am/global_state_controller.h" | ||||
| #include "core/hle/service/am/home_menu_functions.h" | ||||
| #include "core/hle/service/am/library_applet_creator.h" | ||||
| #include "core/hle/service/am/library_applet_self_accessor.h" | ||||
| #include "core/hle/service/am/process_winding_controller.h" | ||||
| #include "core/hle/service/am/self_controller.h" | ||||
| #include "core/hle/service/am/service/library_applet_proxy.h" | ||||
| #include "core/hle/service/am/window_controller.h" | ||||
| #include "core/hle/service/cmif_serialization.h" | ||||
| 
 | ||||
| namespace Service::AM { | ||||
| 
 | ||||
| ILibraryAppletProxy::ILibraryAppletProxy(Core::System& system_, std::shared_ptr<Applet> applet, | ||||
|                                          Kernel::KProcess* process, | ||||
|                                          Nvnflinger::Nvnflinger& nvnflinger) | ||||
|     : ServiceFramework{system_, "ILibraryAppletProxy"}, | ||||
|       m_nvnflinger{nvnflinger}, m_process{process}, m_applet{std::move(applet)} { | ||||
|     // clang-format off
 | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {0, D<&ILibraryAppletProxy::GetCommonStateGetter>, "GetCommonStateGetter"}, | ||||
|         {1, D<&ILibraryAppletProxy::GetSelfController>, "GetSelfController"}, | ||||
|         {2, D<&ILibraryAppletProxy::GetWindowController>, "GetWindowController"}, | ||||
|         {3, D<&ILibraryAppletProxy::GetAudioController>, "GetAudioController"}, | ||||
|         {4, D<&ILibraryAppletProxy::GetDisplayController>, "GetDisplayController"}, | ||||
|         {10, D<&ILibraryAppletProxy::GetProcessWindingController>, "GetProcessWindingController"}, | ||||
|         {11, D<&ILibraryAppletProxy::GetLibraryAppletCreator>, "GetLibraryAppletCreator"}, | ||||
|         {20, D<&ILibraryAppletProxy::OpenLibraryAppletSelfAccessor>, "OpenLibraryAppletSelfAccessor"}, | ||||
|         {21, D<&ILibraryAppletProxy::GetAppletCommonFunctions>, "GetAppletCommonFunctions"}, | ||||
|         {22, D<&ILibraryAppletProxy::GetHomeMenuFunctions>, "GetHomeMenuFunctions"}, | ||||
|         {23, D<&ILibraryAppletProxy::GetGlobalStateController>, "GetGlobalStateController"}, | ||||
|         {1000, D<&ILibraryAppletProxy::GetDebugFunctions>, "GetDebugFunctions"}, | ||||
|     }; | ||||
|     // clang-format on
 | ||||
| 
 | ||||
|     RegisterHandlers(functions); | ||||
| } | ||||
| 
 | ||||
| ILibraryAppletProxy::~ILibraryAppletProxy() = default; | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetAudioController( | ||||
|     Out<SharedPointer<IAudioController>> out_audio_controller) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_audio_controller = std::make_shared<IAudioController>(system); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetDisplayController( | ||||
|     Out<SharedPointer<IDisplayController>> out_display_controller) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_display_controller = std::make_shared<IDisplayController>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetProcessWindingController( | ||||
|     Out<SharedPointer<IProcessWindingController>> out_process_winding_controller) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_process_winding_controller = std::make_shared<IProcessWindingController>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetDebugFunctions( | ||||
|     Out<SharedPointer<IDebugFunctions>> out_debug_functions) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_debug_functions = std::make_shared<IDebugFunctions>(system); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetWindowController( | ||||
|     Out<SharedPointer<IWindowController>> out_window_controller) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_window_controller = std::make_shared<IWindowController>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetSelfController( | ||||
|     Out<SharedPointer<ISelfController>> out_self_controller) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_self_controller = std::make_shared<ISelfController>(system, m_applet, m_nvnflinger); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetCommonStateGetter( | ||||
|     Out<SharedPointer<ICommonStateGetter>> out_common_state_getter) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_common_state_getter = std::make_shared<ICommonStateGetter>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetLibraryAppletCreator( | ||||
|     Out<SharedPointer<ILibraryAppletCreator>> out_library_applet_creator) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_library_applet_creator = std::make_shared<ILibraryAppletCreator>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::OpenLibraryAppletSelfAccessor( | ||||
|     Out<SharedPointer<ILibraryAppletSelfAccessor>> out_library_applet_self_accessor) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_library_applet_self_accessor = | ||||
|         std::make_shared<ILibraryAppletSelfAccessor>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetAppletCommonFunctions( | ||||
|     Out<SharedPointer<IAppletCommonFunctions>> out_applet_common_functions) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_applet_common_functions = std::make_shared<IAppletCommonFunctions>(system, m_applet); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetHomeMenuFunctions( | ||||
|     Out<SharedPointer<IHomeMenuFunctions>> out_home_menu_functions) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_home_menu_functions = std::make_shared<IHomeMenuFunctions>(system); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| Result ILibraryAppletProxy::GetGlobalStateController( | ||||
|     Out<SharedPointer<IGlobalStateController>> out_global_state_controller) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
|     *out_global_state_controller = std::make_shared<IGlobalStateController>(system); | ||||
|     R_SUCCEED(); | ||||
| } | ||||
| 
 | ||||
| } // namespace Service::AM
 | ||||
							
								
								
									
										55
									
								
								src/core/hle/service/am/service/library_applet_proxy.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								src/core/hle/service/am/service/library_applet_proxy.h
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,55 @@ | ||||
| // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 | ||||
| // SPDX-License-Identifier: GPL-2.0-or-later
 | ||||
| 
 | ||||
| #pragma once | ||||
| 
 | ||||
| #include "core/hle/service/cmif_types.h" | ||||
| #include "core/hle/service/service.h" | ||||
| 
 | ||||
| namespace Service::AM { | ||||
| 
 | ||||
| struct Applet; | ||||
| class IAppletCommonFunctions; | ||||
| class IAudioController; | ||||
| class ICommonStateGetter; | ||||
| class IDebugFunctions; | ||||
| class IDisplayController; | ||||
| class IHomeMenuFunctions; | ||||
| class IGlobalStateController; | ||||
| class ILibraryAppletCreator; | ||||
| class ILibraryAppletSelfAccessor; | ||||
| class IProcessWindingController; | ||||
| class ISelfController; | ||||
| class IWindowController; | ||||
| 
 | ||||
| class ILibraryAppletProxy final : public ServiceFramework<ILibraryAppletProxy> { | ||||
| public: | ||||
|     explicit ILibraryAppletProxy(Core::System& system_, std::shared_ptr<Applet> applet, | ||||
|                                  Kernel::KProcess* process, Nvnflinger::Nvnflinger& nvnflinger); | ||||
|     ~ILibraryAppletProxy(); | ||||
| 
 | ||||
| private: | ||||
|     Result GetAudioController(Out<SharedPointer<IAudioController>> out_audio_controller); | ||||
|     Result GetDisplayController(Out<SharedPointer<IDisplayController>> out_display_controller); | ||||
|     Result GetProcessWindingController( | ||||
|         Out<SharedPointer<IProcessWindingController>> out_process_winding_controller); | ||||
|     Result GetDebugFunctions(Out<SharedPointer<IDebugFunctions>> out_debug_functions); | ||||
|     Result GetWindowController(Out<SharedPointer<IWindowController>> out_window_controller); | ||||
|     Result GetSelfController(Out<SharedPointer<ISelfController>> out_self_controller); | ||||
|     Result GetCommonStateGetter(Out<SharedPointer<ICommonStateGetter>> out_common_state_getter); | ||||
|     Result GetLibraryAppletCreator( | ||||
|         Out<SharedPointer<ILibraryAppletCreator>> out_library_applet_creator); | ||||
|     Result OpenLibraryAppletSelfAccessor( | ||||
|         Out<SharedPointer<ILibraryAppletSelfAccessor>> out_library_applet_self_accessor); | ||||
|     Result GetAppletCommonFunctions( | ||||
|         Out<SharedPointer<IAppletCommonFunctions>> out_applet_common_functions); | ||||
|     Result GetHomeMenuFunctions(Out<SharedPointer<IHomeMenuFunctions>> out_home_menu_functions); | ||||
|     Result GetGlobalStateController( | ||||
|         Out<SharedPointer<IGlobalStateController>> out_global_state_controller); | ||||
| 
 | ||||
|     Nvnflinger::Nvnflinger& m_nvnflinger; | ||||
|     Kernel::KProcess* const m_process; | ||||
|     const std::shared_ptr<Applet> m_applet; | ||||
| }; | ||||
| 
 | ||||
| } // namespace Service::AM
 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user