mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Merge pull request #1291 from lioncash/default
hle/service: Default constructors and destructors in the cpp file where applicable
This commit is contained in:
		
						commit
						1470b85af9
					
				@ -18,4 +18,6 @@ ACC_AA::ACC_AA(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ACC_AA::~ACC_AA() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@ class ACC_AA final : public Module::Interface {
 | 
				
			|||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit ACC_AA(std::shared_ptr<Module> module,
 | 
					    explicit ACC_AA(std::shared_ptr<Module> module,
 | 
				
			||||||
                    std::shared_ptr<ProfileManager> profile_manager);
 | 
					                    std::shared_ptr<ProfileManager> profile_manager);
 | 
				
			||||||
 | 
					    ~ACC_AA() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -51,4 +51,6 @@ ACC_SU::ACC_SU(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ACC_SU::~ACC_SU() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,7 @@ class ACC_SU final : public Module::Interface {
 | 
				
			|||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit ACC_SU(std::shared_ptr<Module> module,
 | 
					    explicit ACC_SU(std::shared_ptr<Module> module,
 | 
				
			||||||
                    std::shared_ptr<ProfileManager> profile_manager);
 | 
					                    std::shared_ptr<ProfileManager> profile_manager);
 | 
				
			||||||
 | 
					    ~ACC_SU() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Account
 | 
					} // namespace Account
 | 
				
			||||||
 | 
				
			|||||||
@ -31,4 +31,6 @@ ACC_U0::ACC_U0(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ACC_U0::~ACC_U0() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@ class ACC_U0 final : public Module::Interface {
 | 
				
			|||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit ACC_U0(std::shared_ptr<Module> module,
 | 
					    explicit ACC_U0(std::shared_ptr<Module> module,
 | 
				
			||||||
                    std::shared_ptr<ProfileManager> profile_manager);
 | 
					                    std::shared_ptr<ProfileManager> profile_manager);
 | 
				
			||||||
 | 
					    ~ACC_U0() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -38,4 +38,6 @@ ACC_U1::ACC_U1(std::shared_ptr<Module> module, std::shared_ptr<ProfileManager> p
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ACC_U1::~ACC_U1() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -12,6 +12,7 @@ class ACC_U1 final : public Module::Interface {
 | 
				
			|||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit ACC_U1(std::shared_ptr<Module> module,
 | 
					    explicit ACC_U1(std::shared_ptr<Module> module,
 | 
				
			||||||
                    std::shared_ptr<ProfileManager> profile_manager);
 | 
					                    std::shared_ptr<ProfileManager> profile_manager);
 | 
				
			||||||
 | 
					    ~ACC_U1() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Account
 | 
					} // namespace Service::Account
 | 
				
			||||||
 | 
				
			|||||||
@ -29,6 +29,8 @@ ProfileManager::ProfileManager() {
 | 
				
			|||||||
    OpenUser(user_uuid);
 | 
					    OpenUser(user_uuid);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ProfileManager::~ProfileManager() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// After a users creation it needs to be "registered" to the system. AddToProfiles handles the
 | 
					/// After a users creation it needs to be "registered" to the system. AddToProfiles handles the
 | 
				
			||||||
/// internal management of the users profiles
 | 
					/// internal management of the users profiles
 | 
				
			||||||
boost::optional<size_t> ProfileManager::AddToProfiles(const ProfileInfo& user) {
 | 
					boost::optional<size_t> ProfileManager::AddToProfiles(const ProfileInfo& user) {
 | 
				
			||||||
 | 
				
			|||||||
@ -82,6 +82,8 @@ static_assert(sizeof(ProfileBase) == 0x38, "ProfileBase is an invalid size");
 | 
				
			|||||||
class ProfileManager {
 | 
					class ProfileManager {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    ProfileManager(); // TODO(ogniK): Load from system save
 | 
					    ProfileManager(); // TODO(ogniK): Load from system save
 | 
				
			||||||
 | 
					    ~ProfileManager();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ResultCode AddUser(const ProfileInfo& user);
 | 
					    ResultCode AddUser(const ProfileInfo& user);
 | 
				
			||||||
    ResultCode CreateNewUser(UUID uuid, const ProfileUsername& username);
 | 
					    ResultCode CreateNewUser(UUID uuid, const ProfileUsername& username);
 | 
				
			||||||
    ResultCode CreateNewUser(UUID uuid, const std::string& username);
 | 
					    ResultCode CreateNewUser(UUID uuid, const std::string& username);
 | 
				
			||||||
 | 
				
			|||||||
@ -35,6 +35,8 @@ IWindowController::IWindowController() : ServiceFramework("IWindowController") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IWindowController::~IWindowController() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void IWindowController::GetAppletResourceUserId(Kernel::HLERequestContext& ctx) {
 | 
					void IWindowController::GetAppletResourceUserId(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
					    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 4};
 | 
					    IPC::ResponseBuilder rb{ctx, 4};
 | 
				
			||||||
@ -61,6 +63,8 @@ IAudioController::IAudioController() : ServiceFramework("IAudioController") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IAudioController::~IAudioController() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void IAudioController::SetExpectedMasterVolume(Kernel::HLERequestContext& ctx) {
 | 
					void IAudioController::SetExpectedMasterVolume(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
					    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 2};
 | 
					    IPC::ResponseBuilder rb{ctx, 2};
 | 
				
			||||||
@ -116,7 +120,10 @@ IDisplayController::IDisplayController() : ServiceFramework("IDisplayController"
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IDisplayController::~IDisplayController() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IDebugFunctions::IDebugFunctions() : ServiceFramework("IDebugFunctions") {}
 | 
					IDebugFunctions::IDebugFunctions() : ServiceFramework("IDebugFunctions") {}
 | 
				
			||||||
 | 
					IDebugFunctions::~IDebugFunctions() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
 | 
					ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
 | 
				
			||||||
    : ServiceFramework("ISelfController"), nvflinger(std::move(nvflinger)) {
 | 
					    : ServiceFramework("ISelfController"), nvflinger(std::move(nvflinger)) {
 | 
				
			||||||
@ -165,6 +172,8 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger
 | 
				
			|||||||
        Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, "ISelfController:LaunchableEvent");
 | 
					        Kernel::Event::Create(kernel, Kernel::ResetType::Sticky, "ISelfController:LaunchableEvent");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ISelfController::~ISelfController() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ISelfController::SetFocusHandlingMode(Kernel::HLERequestContext& ctx) {
 | 
					void ISelfController::SetFocusHandlingMode(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    // Takes 3 input u8s with each field located immediately after the previous u8, these are
 | 
					    // Takes 3 input u8s with each field located immediately after the previous u8, these are
 | 
				
			||||||
    // bool flags. No output.
 | 
					    // bool flags. No output.
 | 
				
			||||||
@ -337,6 +346,8 @@ ICommonStateGetter::ICommonStateGetter() : ServiceFramework("ICommonStateGetter"
 | 
				
			|||||||
    event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "ICommonStateGetter:Event");
 | 
					    event = Kernel::Event::Create(kernel, Kernel::ResetType::OneShot, "ICommonStateGetter:Event");
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ICommonStateGetter::~ICommonStateGetter() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ICommonStateGetter::GetBootMode(Kernel::HLERequestContext& ctx) {
 | 
					void ICommonStateGetter::GetBootMode(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 3};
 | 
					    IPC::ResponseBuilder rb{ctx, 3};
 | 
				
			||||||
    rb.Push(RESULT_SUCCESS);
 | 
					    rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
@ -573,6 +584,8 @@ ILibraryAppletCreator::ILibraryAppletCreator() : ServiceFramework("ILibraryApple
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					ILibraryAppletCreator::~ILibraryAppletCreator() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void ILibraryAppletCreator::CreateLibraryApplet(Kernel::HLERequestContext& ctx) {
 | 
					void ILibraryAppletCreator::CreateLibraryApplet(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
					    IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -638,6 +651,8 @@ IApplicationFunctions::IApplicationFunctions() : ServiceFramework("IApplicationF
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IApplicationFunctions::~IApplicationFunctions() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void IApplicationFunctions::PopLaunchParameter(Kernel::HLERequestContext& ctx) {
 | 
					void IApplicationFunctions::PopLaunchParameter(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    constexpr std::array<u8, 0x88> data{{
 | 
					    constexpr std::array<u8, 0x88> data{{
 | 
				
			||||||
        0xca, 0x97, 0x94, 0xc7, // Magic
 | 
					        0xca, 0x97, 0x94, 0xc7, // Magic
 | 
				
			||||||
@ -760,6 +775,8 @@ IHomeMenuFunctions::IHomeMenuFunctions() : ServiceFramework("IHomeMenuFunctions"
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IHomeMenuFunctions::~IHomeMenuFunctions() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void IHomeMenuFunctions::RequestToGetForeground(Kernel::HLERequestContext& ctx) {
 | 
					void IHomeMenuFunctions::RequestToGetForeground(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 2};
 | 
					    IPC::ResponseBuilder rb{ctx, 2};
 | 
				
			||||||
    rb.Push(RESULT_SUCCESS);
 | 
					    rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
@ -783,6 +800,8 @@ IGlobalStateController::IGlobalStateController() : ServiceFramework("IGlobalStat
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IGlobalStateController::~IGlobalStateController() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IApplicationCreator::IApplicationCreator() : ServiceFramework("IApplicationCreator") {
 | 
					IApplicationCreator::IApplicationCreator() : ServiceFramework("IApplicationCreator") {
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
        {0, nullptr, "CreateApplication"},
 | 
					        {0, nullptr, "CreateApplication"},
 | 
				
			||||||
@ -793,6 +812,8 @@ IApplicationCreator::IApplicationCreator() : ServiceFramework("IApplicationCreat
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IApplicationCreator::~IApplicationCreator() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IProcessWindingController::IProcessWindingController()
 | 
					IProcessWindingController::IProcessWindingController()
 | 
				
			||||||
    : ServiceFramework("IProcessWindingController") {
 | 
					    : ServiceFramework("IProcessWindingController") {
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
@ -807,4 +828,6 @@ IProcessWindingController::IProcessWindingController()
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IProcessWindingController::~IProcessWindingController() = default;
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -42,6 +42,7 @@ enum SystemLanguage {
 | 
				
			|||||||
class IWindowController final : public ServiceFramework<IWindowController> {
 | 
					class IWindowController final : public ServiceFramework<IWindowController> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IWindowController();
 | 
					    IWindowController();
 | 
				
			||||||
 | 
					    ~IWindowController() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void GetAppletResourceUserId(Kernel::HLERequestContext& ctx);
 | 
					    void GetAppletResourceUserId(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -51,6 +52,7 @@ private:
 | 
				
			|||||||
class IAudioController final : public ServiceFramework<IAudioController> {
 | 
					class IAudioController final : public ServiceFramework<IAudioController> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IAudioController();
 | 
					    IAudioController();
 | 
				
			||||||
 | 
					    ~IAudioController() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void SetExpectedMasterVolume(Kernel::HLERequestContext& ctx);
 | 
					    void SetExpectedMasterVolume(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -63,16 +65,19 @@ private:
 | 
				
			|||||||
class IDisplayController final : public ServiceFramework<IDisplayController> {
 | 
					class IDisplayController final : public ServiceFramework<IDisplayController> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IDisplayController();
 | 
					    IDisplayController();
 | 
				
			||||||
 | 
					    ~IDisplayController() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class IDebugFunctions final : public ServiceFramework<IDebugFunctions> {
 | 
					class IDebugFunctions final : public ServiceFramework<IDebugFunctions> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IDebugFunctions();
 | 
					    IDebugFunctions();
 | 
				
			||||||
 | 
					    ~IDebugFunctions() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ISelfController final : public ServiceFramework<ISelfController> {
 | 
					class ISelfController final : public ServiceFramework<ISelfController> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
 | 
					    explicit ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
 | 
				
			||||||
 | 
					    ~ISelfController() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void SetFocusHandlingMode(Kernel::HLERequestContext& ctx);
 | 
					    void SetFocusHandlingMode(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -98,6 +103,7 @@ private:
 | 
				
			|||||||
class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> {
 | 
					class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    ICommonStateGetter();
 | 
					    ICommonStateGetter();
 | 
				
			||||||
 | 
					    ~ICommonStateGetter() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    enum class FocusState : u8 {
 | 
					    enum class FocusState : u8 {
 | 
				
			||||||
@ -124,6 +130,7 @@ private:
 | 
				
			|||||||
class ILibraryAppletCreator final : public ServiceFramework<ILibraryAppletCreator> {
 | 
					class ILibraryAppletCreator final : public ServiceFramework<ILibraryAppletCreator> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    ILibraryAppletCreator();
 | 
					    ILibraryAppletCreator();
 | 
				
			||||||
 | 
					    ~ILibraryAppletCreator() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void CreateLibraryApplet(Kernel::HLERequestContext& ctx);
 | 
					    void CreateLibraryApplet(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -133,6 +140,7 @@ private:
 | 
				
			|||||||
class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> {
 | 
					class IApplicationFunctions final : public ServiceFramework<IApplicationFunctions> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IApplicationFunctions();
 | 
					    IApplicationFunctions();
 | 
				
			||||||
 | 
					    ~IApplicationFunctions() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void PopLaunchParameter(Kernel::HLERequestContext& ctx);
 | 
					    void PopLaunchParameter(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -150,6 +158,7 @@ private:
 | 
				
			|||||||
class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> {
 | 
					class IHomeMenuFunctions final : public ServiceFramework<IHomeMenuFunctions> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IHomeMenuFunctions();
 | 
					    IHomeMenuFunctions();
 | 
				
			||||||
 | 
					    ~IHomeMenuFunctions() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void RequestToGetForeground(Kernel::HLERequestContext& ctx);
 | 
					    void RequestToGetForeground(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -158,16 +167,19 @@ private:
 | 
				
			|||||||
class IGlobalStateController final : public ServiceFramework<IGlobalStateController> {
 | 
					class IGlobalStateController final : public ServiceFramework<IGlobalStateController> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IGlobalStateController();
 | 
					    IGlobalStateController();
 | 
				
			||||||
 | 
					    ~IGlobalStateController() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class IApplicationCreator final : public ServiceFramework<IApplicationCreator> {
 | 
					class IApplicationCreator final : public ServiceFramework<IApplicationCreator> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IApplicationCreator();
 | 
					    IApplicationCreator();
 | 
				
			||||||
 | 
					    ~IApplicationCreator() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class IProcessWindingController final : public ServiceFramework<IProcessWindingController> {
 | 
					class IProcessWindingController final : public ServiceFramework<IProcessWindingController> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IProcessWindingController();
 | 
					    IProcessWindingController();
 | 
				
			||||||
 | 
					    ~IProcessWindingController() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Registers all AM services with the specified service manager.
 | 
					/// Registers all AM services with the specified service manager.
 | 
				
			||||||
 | 
				
			|||||||
@ -222,4 +222,6 @@ AppletAE::AppletAE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AppletAE::~AppletAE() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ namespace AM {
 | 
				
			|||||||
class AppletAE final : public ServiceFramework<AppletAE> {
 | 
					class AppletAE final : public ServiceFramework<AppletAE> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AppletAE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
 | 
					    explicit AppletAE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
 | 
				
			||||||
    ~AppletAE() = default;
 | 
					    ~AppletAE() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void OpenSystemAppletProxy(Kernel::HLERequestContext& ctx);
 | 
					    void OpenSystemAppletProxy(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -103,4 +103,6 @@ AppletOE::AppletOE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger)
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AppletOE::~AppletOE() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ namespace AM {
 | 
				
			|||||||
class AppletOE final : public ServiceFramework<AppletOE> {
 | 
					class AppletOE final : public ServiceFramework<AppletOE> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AppletOE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
 | 
					    explicit AppletOE(std::shared_ptr<NVFlinger::NVFlinger> nvflinger);
 | 
				
			||||||
    ~AppletOE() = default;
 | 
					    ~AppletOE() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void OpenApplicationProxy(Kernel::HLERequestContext& ctx);
 | 
					    void OpenApplicationProxy(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -21,4 +21,6 @@ IdleSys::IdleSys() : ServiceFramework{"idle:sys"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IdleSys::~IdleSys() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::AM {
 | 
				
			|||||||
class IdleSys final : public ServiceFramework<IdleSys> {
 | 
					class IdleSys final : public ServiceFramework<IdleSys> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit IdleSys();
 | 
					    explicit IdleSys();
 | 
				
			||||||
 | 
					    ~IdleSys() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -39,4 +39,6 @@ OMM::OMM() : ServiceFramework{"omm"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					OMM::~OMM() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::AM {
 | 
				
			|||||||
class OMM final : public ServiceFramework<OMM> {
 | 
					class OMM final : public ServiceFramework<OMM> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit OMM();
 | 
					    explicit OMM();
 | 
				
			||||||
 | 
					    ~OMM() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -27,4 +27,6 @@ SPSM::SPSM() : ServiceFramework{"spsm"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					SPSM::~SPSM() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::AM {
 | 
				
			|||||||
class SPSM final : public ServiceFramework<SPSM> {
 | 
					class SPSM final : public ServiceFramework<SPSM> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit SPSM();
 | 
					    explicit SPSM();
 | 
				
			||||||
 | 
					    ~SPSM() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::AM
 | 
					} // namespace Service::AM
 | 
				
			||||||
 | 
				
			|||||||
@ -23,6 +23,8 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AOC_U::~AOC_U() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void AOC_U::CountAddOnContent(Kernel::HLERequestContext& ctx) {
 | 
					void AOC_U::CountAddOnContent(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 4};
 | 
					    IPC::ResponseBuilder rb{ctx, 4};
 | 
				
			||||||
    rb.Push(RESULT_SUCCESS);
 | 
					    rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ namespace Service::AOC {
 | 
				
			|||||||
class AOC_U final : public ServiceFramework<AOC_U> {
 | 
					class AOC_U final : public ServiceFramework<AOC_U> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    AOC_U();
 | 
					    AOC_U();
 | 
				
			||||||
    ~AOC_U() = default;
 | 
					    ~AOC_U() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void CountAddOnContent(Kernel::HLERequestContext& ctx);
 | 
					    void CountAddOnContent(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -9,6 +9,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::APM {
 | 
					namespace Service::APM {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Module::Module() = default;
 | 
				
			||||||
 | 
					Module::~Module() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
					void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
				
			||||||
    auto module_ = std::make_shared<Module>();
 | 
					    auto module_ = std::make_shared<Module>();
 | 
				
			||||||
    std::make_shared<APM>(module_, "apm")->InstallAsService(service_manager);
 | 
					    std::make_shared<APM>(module_, "apm")->InstallAsService(service_manager);
 | 
				
			||||||
 | 
				
			|||||||
@ -15,8 +15,8 @@ enum class PerformanceMode : u8 {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class Module final {
 | 
					class Module final {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    Module() = default;
 | 
					    Module();
 | 
				
			||||||
    ~Module() = default;
 | 
					    ~Module();
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Registers all AM services with the specified service manager.
 | 
					/// Registers all AM services with the specified service manager.
 | 
				
			||||||
 | 
				
			|||||||
@ -70,6 +70,8 @@ APM::APM(std::shared_ptr<Module> apm, const char* name)
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APM::~APM() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void APM::OpenSession(Kernel::HLERequestContext& ctx) {
 | 
					void APM::OpenSession(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
					    IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
				
			||||||
    rb.Push(RESULT_SUCCESS);
 | 
					    rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
@ -93,6 +95,8 @@ APM_Sys::APM_Sys() : ServiceFramework{"apm:sys"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					APM_Sys::~APM_Sys() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void APM_Sys::GetPerformanceEvent(Kernel::HLERequestContext& ctx) {
 | 
					void APM_Sys::GetPerformanceEvent(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
					    IPC::ResponseBuilder rb{ctx, 2, 0, 1};
 | 
				
			||||||
    rb.Push(RESULT_SUCCESS);
 | 
					    rb.Push(RESULT_SUCCESS);
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ namespace Service::APM {
 | 
				
			|||||||
class APM final : public ServiceFramework<APM> {
 | 
					class APM final : public ServiceFramework<APM> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit APM(std::shared_ptr<Module> apm, const char* name);
 | 
					    explicit APM(std::shared_ptr<Module> apm, const char* name);
 | 
				
			||||||
    ~APM() = default;
 | 
					    ~APM() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void OpenSession(Kernel::HLERequestContext& ctx);
 | 
					    void OpenSession(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
@ -22,6 +22,7 @@ private:
 | 
				
			|||||||
class APM_Sys final : public ServiceFramework<APM_Sys> {
 | 
					class APM_Sys final : public ServiceFramework<APM_Sys> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit APM_Sys();
 | 
					    explicit APM_Sys();
 | 
				
			||||||
 | 
					    ~APM_Sys() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void GetPerformanceEvent(Kernel::HLERequestContext& ctx);
 | 
					    void GetPerformanceEvent(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -42,4 +42,6 @@ AudCtl::AudCtl() : ServiceFramework{"audctl"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudCtl::~AudCtl() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudCtl final : public ServiceFramework<AudCtl> {
 | 
					class AudCtl final : public ServiceFramework<AudCtl> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudCtl();
 | 
					    explicit AudCtl();
 | 
				
			||||||
 | 
					    ~AudCtl() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -17,4 +17,6 @@ AudDbg::AudDbg(const char* name) : ServiceFramework{name} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudDbg::~AudDbg() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudDbg final : public ServiceFramework<AudDbg> {
 | 
					class AudDbg final : public ServiceFramework<AudDbg> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudDbg(const char* name);
 | 
					    explicit AudDbg(const char* name);
 | 
				
			||||||
 | 
					    ~AudDbg() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -19,4 +19,6 @@ AudInA::AudInA() : ServiceFramework{"audin:a"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudInA::~AudInA() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudInA final : public ServiceFramework<AudInA> {
 | 
					class AudInA final : public ServiceFramework<AudInA> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudInA();
 | 
					    explicit AudInA();
 | 
				
			||||||
 | 
					    ~AudInA() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -41,4 +41,6 @@ AudInU::AudInU() : ServiceFramework("audin:u") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudInU::~AudInU() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudInU final : public ServiceFramework<AudInU> {
 | 
					class AudInU final : public ServiceFramework<AudInU> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudInU();
 | 
					    explicit AudInU();
 | 
				
			||||||
    ~AudInU() = default;
 | 
					    ~AudInU() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -21,4 +21,6 @@ AudOutA::AudOutA() : ServiceFramework{"audout:a"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudOutA::~AudOutA() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudOutA final : public ServiceFramework<AudOutA> {
 | 
					class AudOutA final : public ServiceFramework<AudOutA> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudOutA();
 | 
					    explicit AudOutA();
 | 
				
			||||||
 | 
					    ~AudOutA() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -218,4 +218,6 @@ AudOutU::AudOutU() : ServiceFramework("audout:u") {
 | 
				
			|||||||
    audio_core = std::make_unique<AudioCore::AudioOut>();
 | 
					    audio_core = std::make_unique<AudioCore::AudioOut>();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudOutU::~AudOutU() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -30,7 +30,7 @@ class IAudioOut;
 | 
				
			|||||||
class AudOutU final : public ServiceFramework<AudOutU> {
 | 
					class AudOutU final : public ServiceFramework<AudOutU> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    AudOutU();
 | 
					    AudOutU();
 | 
				
			||||||
    ~AudOutU() = default;
 | 
					    ~AudOutU() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    std::shared_ptr<IAudioOut> audio_out_interface;
 | 
					    std::shared_ptr<IAudioOut> audio_out_interface;
 | 
				
			||||||
 | 
				
			|||||||
@ -17,4 +17,6 @@ AudRecA::AudRecA() : ServiceFramework{"audrec:a"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudRecA::~AudRecA() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudRecA final : public ServiceFramework<AudRecA> {
 | 
					class AudRecA final : public ServiceFramework<AudRecA> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudRecA();
 | 
					    explicit AudRecA();
 | 
				
			||||||
 | 
					    ~AudRecA() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -36,4 +36,6 @@ AudRecU::AudRecU() : ServiceFramework("audrec:u") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudRecU::~AudRecU() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudRecU final : public ServiceFramework<AudRecU> {
 | 
					class AudRecU final : public ServiceFramework<AudRecU> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudRecU();
 | 
					    explicit AudRecU();
 | 
				
			||||||
    ~AudRecU() = default;
 | 
					    ~AudRecU() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -23,4 +23,6 @@ AudRenA::AudRenA() : ServiceFramework{"audren:a"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudRenA::~AudRenA() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudRenA final : public ServiceFramework<AudRenA> {
 | 
					class AudRenA final : public ServiceFramework<AudRenA> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudRenA();
 | 
					    explicit AudRenA();
 | 
				
			||||||
 | 
					    ~AudRenA() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -198,6 +198,8 @@ AudRenU::AudRenU() : ServiceFramework("audren:u") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					AudRenU::~AudRenU() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void AudRenU::OpenAudioRenderer(Kernel::HLERequestContext& ctx) {
 | 
					void AudRenU::OpenAudioRenderer(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::RequestParser rp{ctx};
 | 
					    IPC::RequestParser rp{ctx};
 | 
				
			||||||
    auto params = rp.PopRaw<AudioCore::AudioRendererParameter>();
 | 
					    auto params = rp.PopRaw<AudioCore::AudioRendererParameter>();
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class AudRenU final : public ServiceFramework<AudRenU> {
 | 
					class AudRenU final : public ServiceFramework<AudRenU> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit AudRenU();
 | 
					    explicit AudRenU();
 | 
				
			||||||
    ~AudRenU() = default;
 | 
					    ~AudRenU() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void OpenAudioRenderer(Kernel::HLERequestContext& ctx);
 | 
					    void OpenAudioRenderer(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -28,4 +28,6 @@ CodecCtl::CodecCtl() : ServiceFramework("codecctl") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					CodecCtl::~CodecCtl() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -15,7 +15,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class CodecCtl final : public ServiceFramework<CodecCtl> {
 | 
					class CodecCtl final : public ServiceFramework<CodecCtl> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit CodecCtl();
 | 
					    explicit CodecCtl();
 | 
				
			||||||
    ~CodecCtl() = default;
 | 
					    ~CodecCtl() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -151,4 +151,6 @@ HwOpus::HwOpus() : ServiceFramework("hwopus") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					HwOpus::~HwOpus() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Audio
 | 
					} // namespace Service::Audio
 | 
				
			||||||
 | 
				
			|||||||
@ -11,7 +11,7 @@ namespace Service::Audio {
 | 
				
			|||||||
class HwOpus final : public ServiceFramework<HwOpus> {
 | 
					class HwOpus final : public ServiceFramework<HwOpus> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit HwOpus();
 | 
					    explicit HwOpus();
 | 
				
			||||||
    ~HwOpus() = default;
 | 
					    ~HwOpus() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void OpenOpusDecoder(Kernel::HLERequestContext& ctx);
 | 
					    void OpenOpusDecoder(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -13,4 +13,6 @@ BCAT::BCAT(std::shared_ptr<Module> module, const char* name)
 | 
				
			|||||||
    };
 | 
					    };
 | 
				
			||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					BCAT::~BCAT() = default;
 | 
				
			||||||
} // namespace Service::BCAT
 | 
					} // namespace Service::BCAT
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::BCAT {
 | 
				
			|||||||
class BCAT final : public Module::Interface {
 | 
					class BCAT final : public Module::Interface {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit BCAT(std::shared_ptr<Module> module, const char* name);
 | 
					    explicit BCAT(std::shared_ptr<Module> module, const char* name);
 | 
				
			||||||
 | 
					    ~BCAT() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::BCAT
 | 
					} // namespace Service::BCAT
 | 
				
			||||||
 | 
				
			|||||||
@ -42,6 +42,8 @@ void Module::Interface::CreateBcatService(Kernel::HLERequestContext& ctx) {
 | 
				
			|||||||
Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
					Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
				
			||||||
    : ServiceFramework(name), module(std::move(module)) {}
 | 
					    : ServiceFramework(name), module(std::move(module)) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Module::Interface::~Interface() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
					void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
				
			||||||
    auto module = std::make_shared<Module>();
 | 
					    auto module = std::make_shared<Module>();
 | 
				
			||||||
    std::make_shared<BCAT>(module, "bcat:a")->InstallAsService(service_manager);
 | 
					    std::make_shared<BCAT>(module, "bcat:a")->InstallAsService(service_manager);
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,7 @@ public:
 | 
				
			|||||||
    class Interface : public ServiceFramework<Interface> {
 | 
					    class Interface : public ServiceFramework<Interface> {
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
					        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
				
			||||||
 | 
					        ~Interface() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void CreateBcatService(Kernel::HLERequestContext& ctx);
 | 
					        void CreateBcatService(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,8 @@ namespace Service::Fatal {
 | 
				
			|||||||
Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
					Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
				
			||||||
    : ServiceFramework(name), module(std::move(module)) {}
 | 
					    : ServiceFramework(name), module(std::move(module)) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Module::Interface::~Interface() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Module::Interface::ThrowFatalWithPolicy(Kernel::HLERequestContext& ctx) {
 | 
					void Module::Interface::ThrowFatalWithPolicy(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::RequestParser rp(ctx);
 | 
					    IPC::RequestParser rp(ctx);
 | 
				
			||||||
    u32 error_code = rp.Pop<u32>();
 | 
					    u32 error_code = rp.Pop<u32>();
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,7 @@ public:
 | 
				
			|||||||
    class Interface : public ServiceFramework<Interface> {
 | 
					    class Interface : public ServiceFramework<Interface> {
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
					        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
				
			||||||
 | 
					        ~Interface() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void ThrowFatalWithPolicy(Kernel::HLERequestContext& ctx);
 | 
					        void ThrowFatalWithPolicy(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
        void ThrowFatalWithCpuContext(Kernel::HLERequestContext& ctx);
 | 
					        void ThrowFatalWithCpuContext(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -9,4 +9,6 @@ namespace Service::Fatal {
 | 
				
			|||||||
Fatal_P::Fatal_P(std::shared_ptr<Module> module)
 | 
					Fatal_P::Fatal_P(std::shared_ptr<Module> module)
 | 
				
			||||||
    : Module::Interface(std::move(module), "fatal:p") {}
 | 
					    : Module::Interface(std::move(module), "fatal:p") {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fatal_P::~Fatal_P() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Fatal
 | 
					} // namespace Service::Fatal
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Fatal {
 | 
				
			|||||||
class Fatal_P final : public Module::Interface {
 | 
					class Fatal_P final : public Module::Interface {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit Fatal_P(std::shared_ptr<Module> module);
 | 
					    explicit Fatal_P(std::shared_ptr<Module> module);
 | 
				
			||||||
 | 
					    ~Fatal_P() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Fatal
 | 
					} // namespace Service::Fatal
 | 
				
			||||||
 | 
				
			|||||||
@ -15,4 +15,6 @@ Fatal_U::Fatal_U(std::shared_ptr<Module> module) : Module::Interface(std::move(m
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Fatal_U::~Fatal_U() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Fatal
 | 
					} // namespace Service::Fatal
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Fatal {
 | 
				
			|||||||
class Fatal_U final : public Module::Interface {
 | 
					class Fatal_U final : public Module::Interface {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit Fatal_U(std::shared_ptr<Module> module);
 | 
					    explicit Fatal_U(std::shared_ptr<Module> module);
 | 
				
			||||||
 | 
					    ~Fatal_U() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Fatal
 | 
					} // namespace Service::Fatal
 | 
				
			||||||
 | 
				
			|||||||
@ -40,6 +40,8 @@ static FileSys::VirtualDir GetDirectoryRelativeWrapped(FileSys::VirtualDir base,
 | 
				
			|||||||
VfsDirectoryServiceWrapper::VfsDirectoryServiceWrapper(FileSys::VirtualDir backing_)
 | 
					VfsDirectoryServiceWrapper::VfsDirectoryServiceWrapper(FileSys::VirtualDir backing_)
 | 
				
			||||||
    : backing(std::move(backing_)) {}
 | 
					    : backing(std::move(backing_)) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					VfsDirectoryServiceWrapper::~VfsDirectoryServiceWrapper() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
std::string VfsDirectoryServiceWrapper::GetName() const {
 | 
					std::string VfsDirectoryServiceWrapper::GetName() const {
 | 
				
			||||||
    return backing->GetName();
 | 
					    return backing->GetName();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -64,6 +64,7 @@ void InstallInterfaces(SM::ServiceManager& service_manager, const FileSys::Virtu
 | 
				
			|||||||
class VfsDirectoryServiceWrapper {
 | 
					class VfsDirectoryServiceWrapper {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit VfsDirectoryServiceWrapper(FileSys::VirtualDir backing);
 | 
					    explicit VfsDirectoryServiceWrapper(FileSys::VirtualDir backing);
 | 
				
			||||||
 | 
					    ~VfsDirectoryServiceWrapper();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Get a descriptive name for the archive (e.g. "RomFS", "SaveData", etc.)
 | 
					     * Get a descriptive name for the archive (e.g. "RomFS", "SaveData", etc.)
 | 
				
			||||||
 | 
				
			|||||||
@ -19,4 +19,6 @@ FSP_LDR::FSP_LDR() : ServiceFramework{"fsp:ldr"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FSP_LDR::~FSP_LDR() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::FileSystem
 | 
					} // namespace Service::FileSystem
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::FileSystem {
 | 
				
			|||||||
class FSP_LDR final : public ServiceFramework<FSP_LDR> {
 | 
					class FSP_LDR final : public ServiceFramework<FSP_LDR> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit FSP_LDR();
 | 
					    explicit FSP_LDR();
 | 
				
			||||||
 | 
					    ~FSP_LDR() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::FileSystem
 | 
					} // namespace Service::FileSystem
 | 
				
			||||||
 | 
				
			|||||||
@ -20,4 +20,6 @@ FSP_PR::FSP_PR() : ServiceFramework{"fsp:pr"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FSP_PR::~FSP_PR() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::FileSystem
 | 
					} // namespace Service::FileSystem
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::FileSystem {
 | 
				
			|||||||
class FSP_PR final : public ServiceFramework<FSP_PR> {
 | 
					class FSP_PR final : public ServiceFramework<FSP_PR> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit FSP_PR();
 | 
					    explicit FSP_PR();
 | 
				
			||||||
 | 
					    ~FSP_PR() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::FileSystem
 | 
					} // namespace Service::FileSystem
 | 
				
			||||||
 | 
				
			|||||||
@ -520,6 +520,8 @@ FSP_SRV::FSP_SRV() : ServiceFramework("fsp-srv") {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FSP_SRV::~FSP_SRV() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void FSP_SRV::Initialize(Kernel::HLERequestContext& ctx) {
 | 
					void FSP_SRV::Initialize(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    LOG_WARNING(Service_FS, "(STUBBED) called");
 | 
					    LOG_WARNING(Service_FS, "(STUBBED) called");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -16,7 +16,7 @@ namespace Service::FileSystem {
 | 
				
			|||||||
class FSP_SRV final : public ServiceFramework<FSP_SRV> {
 | 
					class FSP_SRV final : public ServiceFramework<FSP_SRV> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit FSP_SRV();
 | 
					    explicit FSP_SRV();
 | 
				
			||||||
    ~FSP_SRV() = default;
 | 
					    ~FSP_SRV() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void Initialize(Kernel::HLERequestContext& ctx);
 | 
					    void Initialize(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -118,6 +118,8 @@ void Module::Interface::CreateFriendService(Kernel::HLERequestContext& ctx) {
 | 
				
			|||||||
Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
					Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
				
			||||||
    : ServiceFramework(name), module(std::move(module)) {}
 | 
					    : ServiceFramework(name), module(std::move(module)) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Module::Interface::~Interface() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
					void InstallInterfaces(SM::ServiceManager& service_manager) {
 | 
				
			||||||
    auto module = std::make_shared<Module>();
 | 
					    auto module = std::make_shared<Module>();
 | 
				
			||||||
    std::make_shared<Friend>(module, "friend:a")->InstallAsService(service_manager);
 | 
					    std::make_shared<Friend>(module, "friend:a")->InstallAsService(service_manager);
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,7 @@ public:
 | 
				
			|||||||
    class Interface : public ServiceFramework<Interface> {
 | 
					    class Interface : public ServiceFramework<Interface> {
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
					        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
				
			||||||
 | 
					        ~Interface() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void CreateFriendService(Kernel::HLERequestContext& ctx);
 | 
					        void CreateFriendService(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -16,4 +16,6 @@ Friend::Friend(std::shared_ptr<Module> module, const char* name)
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Friend::~Friend() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Friend
 | 
					} // namespace Service::Friend
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::Friend {
 | 
				
			|||||||
class Friend final : public Module::Interface {
 | 
					class Friend final : public Module::Interface {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit Friend(std::shared_ptr<Module> module, const char* name);
 | 
					    explicit Friend(std::shared_ptr<Module> module, const char* name);
 | 
				
			||||||
 | 
					    ~Friend() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::Friend
 | 
					} // namespace Service::Friend
 | 
				
			||||||
 | 
				
			|||||||
@ -33,6 +33,8 @@ IRS::IRS() : ServiceFramework{"irs"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IRS::~IRS() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
IRS_SYS::IRS_SYS() : ServiceFramework{"irs:sys"} {
 | 
					IRS_SYS::IRS_SYS() : ServiceFramework{"irs:sys"} {
 | 
				
			||||||
    // clang-format off
 | 
					    // clang-format off
 | 
				
			||||||
    static const FunctionInfo functions[] = {
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
@ -46,4 +48,6 @@ IRS_SYS::IRS_SYS() : ServiceFramework{"irs:sys"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IRS_SYS::~IRS_SYS() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::HID
 | 
					} // namespace Service::HID
 | 
				
			||||||
 | 
				
			|||||||
@ -11,11 +11,13 @@ namespace Service::HID {
 | 
				
			|||||||
class IRS final : public ServiceFramework<IRS> {
 | 
					class IRS final : public ServiceFramework<IRS> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit IRS();
 | 
					    explicit IRS();
 | 
				
			||||||
 | 
					    ~IRS() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class IRS_SYS final : public ServiceFramework<IRS_SYS> {
 | 
					class IRS_SYS final : public ServiceFramework<IRS_SYS> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit IRS_SYS();
 | 
					    explicit IRS_SYS();
 | 
				
			||||||
 | 
					    ~IRS_SYS() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::HID
 | 
					} // namespace Service::HID
 | 
				
			||||||
 | 
				
			|||||||
@ -34,4 +34,6 @@ XCD_SYS::XCD_SYS() : ServiceFramework{"xcd:sys"} {
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					XCD_SYS::~XCD_SYS() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::HID
 | 
					} // namespace Service::HID
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::HID {
 | 
				
			|||||||
class XCD_SYS final : public ServiceFramework<XCD_SYS> {
 | 
					class XCD_SYS final : public ServiceFramework<XCD_SYS> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit XCD_SYS();
 | 
					    explicit XCD_SYS();
 | 
				
			||||||
 | 
					    ~XCD_SYS() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::HID
 | 
					} // namespace Service::HID
 | 
				
			||||||
 | 
				
			|||||||
@ -14,6 +14,8 @@ namespace Service::NFP {
 | 
				
			|||||||
Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
					Module::Interface::Interface(std::shared_ptr<Module> module, const char* name)
 | 
				
			||||||
    : ServiceFramework(name), module(std::move(module)) {}
 | 
					    : ServiceFramework(name), module(std::move(module)) {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Module::Interface::~Interface() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class IUser final : public ServiceFramework<IUser> {
 | 
					class IUser final : public ServiceFramework<IUser> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    IUser() : ServiceFramework("IUser") {
 | 
					    IUser() : ServiceFramework("IUser") {
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,7 @@ public:
 | 
				
			|||||||
    class Interface : public ServiceFramework<Interface> {
 | 
					    class Interface : public ServiceFramework<Interface> {
 | 
				
			||||||
    public:
 | 
					    public:
 | 
				
			||||||
        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
					        explicit Interface(std::shared_ptr<Module> module, const char* name);
 | 
				
			||||||
 | 
					        ~Interface() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        void CreateUserInterface(Kernel::HLERequestContext& ctx);
 | 
					        void CreateUserInterface(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -14,4 +14,6 @@ NFP_User::NFP_User(std::shared_ptr<Module> module)
 | 
				
			|||||||
    RegisterHandlers(functions);
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					NFP_User::~NFP_User() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::NFP
 | 
					} // namespace Service::NFP
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,7 @@ namespace Service::NFP {
 | 
				
			|||||||
class NFP_User final : public Module::Interface {
 | 
					class NFP_User final : public Module::Interface {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit NFP_User(std::shared_ptr<Module> module);
 | 
					    explicit NFP_User(std::shared_ptr<Module> module);
 | 
				
			||||||
 | 
					    ~NFP_User() override;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
} // namespace Service::NFP
 | 
					} // namespace Service::NFP
 | 
				
			||||||
 | 
				
			|||||||
@ -247,6 +247,8 @@ PL_U::PL_U() : ServiceFramework("pl:u") {
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					PL_U::~PL_U() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void PL_U::RequestLoad(Kernel::HLERequestContext& ctx) {
 | 
					void PL_U::RequestLoad(Kernel::HLERequestContext& ctx) {
 | 
				
			||||||
    IPC::RequestParser rp{ctx};
 | 
					    IPC::RequestParser rp{ctx};
 | 
				
			||||||
    const u32 shared_font_type{rp.Pop<u32>()};
 | 
					    const u32 shared_font_type{rp.Pop<u32>()};
 | 
				
			||||||
 | 
				
			|||||||
@ -13,7 +13,7 @@ namespace Service::NS {
 | 
				
			|||||||
class PL_U final : public ServiceFramework<PL_U> {
 | 
					class PL_U final : public ServiceFramework<PL_U> {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    PL_U();
 | 
					    PL_U();
 | 
				
			||||||
    ~PL_U() = default;
 | 
					    ~PL_U() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    void RequestLoad(Kernel::HLERequestContext& ctx);
 | 
					    void RequestLoad(Kernel::HLERequestContext& ctx);
 | 
				
			||||||
 | 
				
			|||||||
@ -13,6 +13,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvdisp_disp0::nvdisp_disp0(std::shared_ptr<nvmap> nvmap_dev) : nvmap_dev(std::move(nvmap_dev)) {}
 | 
				
			||||||
 | 
					nvdisp_disp0 ::~nvdisp_disp0() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvdisp_disp0::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvdisp_disp0::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    UNIMPLEMENTED_MSG("Unimplemented ioctl");
 | 
					    UNIMPLEMENTED_MSG("Unimplemented ioctl");
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
 | 
				
			|||||||
@ -17,8 +17,8 @@ class nvmap;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvdisp_disp0 final : public nvdevice {
 | 
					class nvdisp_disp0 final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit nvdisp_disp0(std::shared_ptr<nvmap> nvmap_dev) : nvmap_dev(std::move(nvmap_dev)) {}
 | 
					    explicit nvdisp_disp0(std::shared_ptr<nvmap> nvmap_dev);
 | 
				
			||||||
    ~nvdisp_disp0() = default;
 | 
					    ~nvdisp_disp0();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -3,6 +3,8 @@
 | 
				
			|||||||
// Refer to the license.txt file included.
 | 
					// Refer to the license.txt file included.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <cstring>
 | 
					#include <cstring>
 | 
				
			||||||
 | 
					#include <utility>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "common/assert.h"
 | 
					#include "common/assert.h"
 | 
				
			||||||
#include "common/logging/log.h"
 | 
					#include "common/logging/log.h"
 | 
				
			||||||
#include "core/core.h"
 | 
					#include "core/core.h"
 | 
				
			||||||
@ -14,6 +16,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_as_gpu::nvhost_as_gpu(std::shared_ptr<nvmap> nvmap_dev) : nvmap_dev(std::move(nvmap_dev)) {}
 | 
				
			||||||
 | 
					nvhost_as_gpu::~nvhost_as_gpu() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_as_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_as_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -6,7 +6,6 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#include <memory>
 | 
					#include <memory>
 | 
				
			||||||
#include <unordered_map>
 | 
					#include <unordered_map>
 | 
				
			||||||
#include <utility>
 | 
					 | 
				
			||||||
#include <vector>
 | 
					#include <vector>
 | 
				
			||||||
#include "common/common_types.h"
 | 
					#include "common/common_types.h"
 | 
				
			||||||
#include "common/swap.h"
 | 
					#include "common/swap.h"
 | 
				
			||||||
@ -18,8 +17,8 @@ class nvmap;
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_as_gpu final : public nvdevice {
 | 
					class nvhost_as_gpu final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit nvhost_as_gpu(std::shared_ptr<nvmap> nvmap_dev) : nvmap_dev(std::move(nvmap_dev)) {}
 | 
					    explicit nvhost_as_gpu(std::shared_ptr<nvmap> nvmap_dev);
 | 
				
			||||||
    ~nvhost_as_gpu() override = default;
 | 
					    ~nvhost_as_gpu() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -11,6 +11,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_ctrl::nvhost_ctrl() = default;
 | 
				
			||||||
 | 
					nvhost_ctrl::~nvhost_ctrl() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_ctrl::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_ctrl::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -13,8 +13,8 @@ namespace Service::Nvidia::Devices {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_ctrl final : public nvdevice {
 | 
					class nvhost_ctrl final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    nvhost_ctrl() = default;
 | 
					    nvhost_ctrl();
 | 
				
			||||||
    ~nvhost_ctrl() override = default;
 | 
					    ~nvhost_ctrl() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -9,6 +9,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_ctrl_gpu::nvhost_ctrl_gpu() = default;
 | 
				
			||||||
 | 
					nvhost_ctrl_gpu::~nvhost_ctrl_gpu() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_ctrl_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_ctrl_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -13,8 +13,8 @@ namespace Service::Nvidia::Devices {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_ctrl_gpu final : public nvdevice {
 | 
					class nvhost_ctrl_gpu final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    nvhost_ctrl_gpu() = default;
 | 
					    nvhost_ctrl_gpu();
 | 
				
			||||||
    ~nvhost_ctrl_gpu() override = default;
 | 
					    ~nvhost_ctrl_gpu() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -14,6 +14,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_gpu::nvhost_gpu(std::shared_ptr<nvmap> nvmap_dev) : nvmap_dev(std::move(nvmap_dev)) {}
 | 
				
			||||||
 | 
					nvhost_gpu::~nvhost_gpu() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_gpu::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -20,8 +20,8 @@ constexpr u32 NVGPU_IOCTL_CHANNEL_KICKOFF_PB(0x1b);
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_gpu final : public nvdevice {
 | 
					class nvhost_gpu final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    explicit nvhost_gpu(std::shared_ptr<nvmap> nvmap_dev) : nvmap_dev(std::move(nvmap_dev)) {}
 | 
					    explicit nvhost_gpu(std::shared_ptr<nvmap> nvmap_dev);
 | 
				
			||||||
    ~nvhost_gpu() override = default;
 | 
					    ~nvhost_gpu() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_nvdec::nvhost_nvdec() = default;
 | 
				
			||||||
 | 
					nvhost_nvdec::~nvhost_nvdec() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_nvdec::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_nvdec::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -13,8 +13,8 @@ namespace Service::Nvidia::Devices {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_nvdec final : public nvdevice {
 | 
					class nvhost_nvdec final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    nvhost_nvdec() = default;
 | 
					    nvhost_nvdec();
 | 
				
			||||||
    ~nvhost_nvdec() override = default;
 | 
					    ~nvhost_nvdec() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_nvjpg::nvhost_nvjpg() = default;
 | 
				
			||||||
 | 
					nvhost_nvjpg::~nvhost_nvjpg() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_nvjpg::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_nvjpg::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -13,8 +13,8 @@ namespace Service::Nvidia::Devices {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_nvjpg final : public nvdevice {
 | 
					class nvhost_nvjpg final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    nvhost_nvjpg() = default;
 | 
					    nvhost_nvjpg();
 | 
				
			||||||
    ~nvhost_nvjpg() override = default;
 | 
					    ~nvhost_nvjpg() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -10,6 +10,9 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
namespace Service::Nvidia::Devices {
 | 
					namespace Service::Nvidia::Devices {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					nvhost_vic::nvhost_vic() = default;
 | 
				
			||||||
 | 
					nvhost_vic::~nvhost_vic() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
u32 nvhost_vic::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
					u32 nvhost_vic::ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) {
 | 
				
			||||||
    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
					    LOG_DEBUG(Service_NVDRV, "called, command=0x{:08X}, input_size=0x{:X}, output_size=0x{:X}",
 | 
				
			||||||
              command.raw, input.size(), output.size());
 | 
					              command.raw, input.size(), output.size());
 | 
				
			||||||
 | 
				
			|||||||
@ -13,8 +13,8 @@ namespace Service::Nvidia::Devices {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
class nvhost_vic final : public nvdevice {
 | 
					class nvhost_vic final : public nvdevice {
 | 
				
			||||||
public:
 | 
					public:
 | 
				
			||||||
    nvhost_vic() = default;
 | 
					    nvhost_vic();
 | 
				
			||||||
    ~nvhost_vic() override = default;
 | 
					    ~nvhost_vic() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
					    u32 ioctl(Ioctl command, const std::vector<u8>& input, std::vector<u8>& output) override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	Block a user