mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	Stub more functions
This commit is contained in:
		
							parent
							
								
									910198a29a
								
							
						
					
					
						commit
						e4f94ee30b
					
				@ -761,6 +761,16 @@ static ResultCode CreateSharedMemory(Handle* handle, u64 size, u32 local_permiss
 | 
			
		||||
    return RESULT_SUCCESS;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
static ResultCode ClearEvent(Handle handle) {
 | 
			
		||||
    LOG_TRACE(Kernel_SVC, "called, event=0xX", handle);
 | 
			
		||||
 | 
			
		||||
    SharedPtr<Event> evt = g_handle_table.Get<Event>(handle);
 | 
			
		||||
    if (evt == nullptr)
 | 
			
		||||
        return ERR_INVALID_HANDLE;
 | 
			
		||||
    evt->Clear();
 | 
			
		||||
    return RESULT_SUCCESS;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
namespace {
 | 
			
		||||
struct FunctionDef {
 | 
			
		||||
    using Func = void();
 | 
			
		||||
@ -790,7 +800,7 @@ static const FunctionDef SVC_Table[] = {
 | 
			
		||||
    {0x0F, SvcWrap<SetThreadCoreMask>, "SetThreadCoreMask"},
 | 
			
		||||
    {0x10, SvcWrap<GetCurrentProcessorNumber>, "GetCurrentProcessorNumber"},
 | 
			
		||||
    {0x11, nullptr, "SignalEvent"},
 | 
			
		||||
    {0x12, nullptr, "ClearEvent"},
 | 
			
		||||
    {0x12, SvcWrap<ClearEvent>, "ClearEvent"},
 | 
			
		||||
    {0x13, SvcWrap<MapSharedMemory>, "MapSharedMemory"},
 | 
			
		||||
    {0x14, nullptr, "UnmapSharedMemory"},
 | 
			
		||||
    {0x15, SvcWrap<CreateTransferMemory>, "CreateTransferMemory"},
 | 
			
		||||
 | 
			
		||||
@ -34,7 +34,38 @@ void IWindowController::AcquireForegroundRights(Kernel::HLERequestContext& ctx)
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
IAudioController::IAudioController() : ServiceFramework("IAudioController") {}
 | 
			
		||||
IAudioController::IAudioController() : ServiceFramework("IAudioController") {
 | 
			
		||||
    static const FunctionInfo functions[] = {
 | 
			
		||||
        {0, &IAudioController::SetExpectedMasterVolume, "SetExpectedMasterVolume"},
 | 
			
		||||
        {1, &IAudioController::GetMainAppletExpectedMasterVolume,
 | 
			
		||||
         "GetMainAppletExpectedMasterVolume"},
 | 
			
		||||
        {2, &IAudioController::GetLibraryAppletExpectedMasterVolume,
 | 
			
		||||
         "GetLibraryAppletExpectedMasterVolume"},
 | 
			
		||||
        {3, nullptr, "ChangeMainAppletMasterVolume"},
 | 
			
		||||
        {4, nullptr, "SetTransparentVolumeRate"},
 | 
			
		||||
    };
 | 
			
		||||
    RegisterHandlers(functions);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void IAudioController::SetExpectedMasterVolume(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 2};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void IAudioController::GetMainAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 3};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
    rb.Push(volume);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void IAudioController::GetLibraryAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    LOG_WARNING(Service_AM, "(STUBBED) called");
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 3};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
    rb.Push(volume);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
IDisplayController::IDisplayController() : ServiceFramework("IDisplayController") {}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -36,6 +36,13 @@ private:
 | 
			
		||||
class IAudioController final : public ServiceFramework<IAudioController> {
 | 
			
		||||
public:
 | 
			
		||||
    IAudioController();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void SetExpectedMasterVolume(Kernel::HLERequestContext& ctx);
 | 
			
		||||
    void GetMainAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx);
 | 
			
		||||
    void GetLibraryAppletExpectedMasterVolume(Kernel::HLERequestContext& ctx);
 | 
			
		||||
 | 
			
		||||
    u32 volume{100};
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class IDisplayController final : public ServiceFramework<IDisplayController> {
 | 
			
		||||
 | 
			
		||||
@ -13,7 +13,7 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u") {
 | 
			
		||||
    static const FunctionInfo functions[] = {
 | 
			
		||||
        {0, nullptr, "CountAddOnContentByApplicationId"},
 | 
			
		||||
        {1, nullptr, "ListAddOnContentByApplicationId"},
 | 
			
		||||
        {2, nullptr, "CountAddOnContent"},
 | 
			
		||||
        {2, &AOC_U::CountAddOnContent, "CountAddOnContent"},
 | 
			
		||||
        {3, &AOC_U::ListAddOnContent, "ListAddOnContent"},
 | 
			
		||||
        {4, nullptr, "GetAddOnContentBaseIdByApplicationId"},
 | 
			
		||||
        {5, nullptr, "GetAddOnContentBaseId"},
 | 
			
		||||
@ -23,6 +23,13 @@ AOC_U::AOC_U() : ServiceFramework("aoc:u") {
 | 
			
		||||
    RegisterHandlers(functions);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOC_U::CountAddOnContent(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 4};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
    rb.Push<u64>(0);
 | 
			
		||||
    LOG_WARNING(Service_AOC, "(STUBBED) called");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AOC_U::ListAddOnContent(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 4};
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
 | 
			
		||||
@ -15,6 +15,7 @@ public:
 | 
			
		||||
    ~AOC_U() = default;
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void CountAddOnContent(Kernel::HLERequestContext& ctx);
 | 
			
		||||
    void ListAddOnContent(Kernel::HLERequestContext& ctx);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -178,10 +178,10 @@ void AudRenU::GetAudioRendererWorkBufferSize(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void AudRenU::GetAudioRenderersProcessMasterVolume(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 2};
 | 
			
		||||
    IPC::ResponseBuilder rb{ctx, 3};
 | 
			
		||||
 | 
			
		||||
    rb.Push(RESULT_SUCCESS);
 | 
			
		||||
 | 
			
		||||
    rb.Push<u32>(100);
 | 
			
		||||
    LOG_WARNING(Service_Audio, "(STUBBED) called");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@ -3,6 +3,7 @@
 | 
			
		||||
// Refer to the license.txt file included.
 | 
			
		||||
 | 
			
		||||
#include "core/hle/ipc_helpers.h"
 | 
			
		||||
#include "core/hle/kernel/event.h"
 | 
			
		||||
#include "core/hle/service/nifm/nifm.h"
 | 
			
		||||
#include "core/hle/service/nifm/nifm_a.h"
 | 
			
		||||
#include "core/hle/service/nifm/nifm_s.h"
 | 
			
		||||
@ -28,9 +29,9 @@ class IRequest final : public ServiceFramework<IRequest> {
 | 
			
		||||
public:
 | 
			
		||||
    explicit IRequest() : ServiceFramework("IRequest") {
 | 
			
		||||
        static const FunctionInfo functions[] = {
 | 
			
		||||
            {0, nullptr, "GetRequestState"},
 | 
			
		||||
            {1, nullptr, "GetResult"},
 | 
			
		||||
            {2, nullptr, "GetSystemEventReadableHandles"},
 | 
			
		||||
            {0, &IRequest::GetRequestState, "GetRequestState"},
 | 
			
		||||
            {1, &IRequest::GetResult, "GetResult"},
 | 
			
		||||
            {2, &IRequest::GetSystemEventReadableHandles, "GetSystemEventReadableHandles"},
 | 
			
		||||
            {3, nullptr, "Cancel"},
 | 
			
		||||
            {4, nullptr, "Submit"},
 | 
			
		||||
            {5, nullptr, "SetRequirement"},
 | 
			
		||||
@ -55,7 +56,32 @@ public:
 | 
			
		||||
            {25, nullptr, "UnregisterSocketDescriptor"},
 | 
			
		||||
        };
 | 
			
		||||
        RegisterHandlers(functions);
 | 
			
		||||
 | 
			
		||||
        event1 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event1");
 | 
			
		||||
        event2 = Kernel::Event::Create(Kernel::ResetType::OneShot, "IRequest:Event2");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    void GetRequestState(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
        LOG_WARNING(Service_NIFM, "(STUBBED) called");
 | 
			
		||||
        IPC::ResponseBuilder rb{ctx, 3};
 | 
			
		||||
        rb.Push(RESULT_SUCCESS);
 | 
			
		||||
        rb.Push<u32>(0);
 | 
			
		||||
    }
 | 
			
		||||
    void GetResult(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
        LOG_WARNING(Service_NIFM, "(STUBBED) called");
 | 
			
		||||
        IPC::ResponseBuilder rb{ctx, 3};
 | 
			
		||||
        rb.Push(RESULT_SUCCESS);
 | 
			
		||||
        rb.Push<u32>(0);
 | 
			
		||||
    }
 | 
			
		||||
    void GetSystemEventReadableHandles(Kernel::HLERequestContext& ctx) {
 | 
			
		||||
        LOG_WARNING(Service_NIFM, "(STUBBED) called");
 | 
			
		||||
        IPC::ResponseBuilder rb{ctx, 2, 2};
 | 
			
		||||
        rb.Push(RESULT_SUCCESS);
 | 
			
		||||
        rb.PushCopyObjects(event1, event2);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    Kernel::SharedPtr<Kernel::Event> event1, event2;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
class INetworkProfile final : public ServiceFramework<INetworkProfile> {
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user