Merge pull request #832 from lioncash/nim
service: Add the nim services
This commit is contained in:
		| @@ -172,6 +172,8 @@ add_library(core STATIC | ||||
|     hle/service/nfp/nfp_user.h | ||||
|     hle/service/nifm/nifm.cpp | ||||
|     hle/service/nifm/nifm.h | ||||
|     hle/service/nim/nim.cpp | ||||
|     hle/service/nim/nim.h | ||||
|     hle/service/ns/ns.cpp | ||||
|     hle/service/ns/ns.h | ||||
|     hle/service/ns/pl_u.cpp | ||||
|   | ||||
							
								
								
									
										124
									
								
								src/core/hle/service/nim/nim.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										124
									
								
								src/core/hle/service/nim/nim.cpp
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,124 @@ | ||||
| // Copyright 2018 yuzu emulator team | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #include "core/hle/service/nim/nim.h" | ||||
| #include "core/hle/service/service.h" | ||||
| #include "core/hle/service/sm/sm.h" | ||||
|  | ||||
| namespace Service::NIM { | ||||
|  | ||||
| class NIM final : public ServiceFramework<NIM> { | ||||
| public: | ||||
|     explicit NIM() : ServiceFramework{"nim"} { | ||||
|         // clang-format off | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "CreateSystemUpdateTask"}, | ||||
|             {1, nullptr, "DestroySystemUpdateTask"}, | ||||
|             {2, nullptr, "ListSystemUpdateTask"}, | ||||
|             {3, nullptr, "RequestSystemUpdateTaskRun"}, | ||||
|             {4, nullptr, "GetSystemUpdateTaskInfo"}, | ||||
|             {5, nullptr, "CommitSystemUpdateTask"}, | ||||
|             {6, nullptr, "CreateNetworkInstallTask"}, | ||||
|             {7, nullptr, "DestroyNetworkInstallTask"}, | ||||
|             {8, nullptr, "ListNetworkInstallTask"}, | ||||
|             {9, nullptr, "RequestNetworkInstallTaskRun"}, | ||||
|             {10, nullptr, "GetNetworkInstallTaskInfo"}, | ||||
|             {11, nullptr, "CommitNetworkInstallTask"}, | ||||
|             {12, nullptr, "RequestLatestSystemUpdateMeta"}, | ||||
|             {14, nullptr, "ListApplicationNetworkInstallTask"}, | ||||
|             {15, nullptr, "ListNetworkInstallTaskContentMeta"}, | ||||
|             {16, nullptr, "RequestLatestVersion"}, | ||||
|             {17, nullptr, "SetNetworkInstallTaskAttribute"}, | ||||
|             {18, nullptr, "AddNetworkInstallTaskContentMeta"}, | ||||
|             {19, nullptr, "GetDownloadedSystemDataPath"}, | ||||
|             {20, nullptr, "CalculateNetworkInstallTaskRequiredSize"}, | ||||
|             {21, nullptr, "IsExFatDriverIncluded"}, | ||||
|             {22, nullptr, "GetBackgroundDownloadStressTaskInfo"}, | ||||
|             {23, nullptr, "RequestDeviceAuthenticationToken"}, | ||||
|             {24, nullptr, "RequestGameCardRegistrationStatus"}, | ||||
|             {25, nullptr, "RequestRegisterGameCard"}, | ||||
|             {26, nullptr, "RequestRegisterNotificationToken"}, | ||||
|             {27, nullptr, "RequestDownloadTaskList"}, | ||||
|             {28, nullptr, "RequestApplicationControl"}, | ||||
|             {29, nullptr, "RequestLatestApplicationControl"}, | ||||
|             {30, nullptr, "RequestVersionList"}, | ||||
|             {31, nullptr, "CreateApplyDeltaTask"}, | ||||
|             {32, nullptr, "DestroyApplyDeltaTask"}, | ||||
|             {33, nullptr, "ListApplicationApplyDeltaTask"}, | ||||
|             {34, nullptr, "RequestApplyDeltaTaskRun"}, | ||||
|             {35, nullptr, "GetApplyDeltaTaskInfo"}, | ||||
|             {36, nullptr, "ListApplyDeltaTask"}, | ||||
|             {37, nullptr, "CommitApplyDeltaTask"}, | ||||
|             {38, nullptr, "CalculateApplyDeltaTaskRequiredSize"}, | ||||
|             {39, nullptr, "PrepareShutdown"}, | ||||
|             {40, nullptr, "ListApplyDeltaTask"}, | ||||
|             {41, nullptr, "ClearNotEnoughSpaceStateOfApplyDeltaTask"}, | ||||
|             {42, nullptr, "Unknown1"}, | ||||
|             {43, nullptr, "Unknown2"}, | ||||
|             {44, nullptr, "Unknown3"}, | ||||
|             {45, nullptr, "Unknown4"}, | ||||
|             {46, nullptr, "Unknown5"}, | ||||
|         }; | ||||
|         // clang-format on | ||||
|  | ||||
|         RegisterHandlers(functions); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| class NIM_SHP final : public ServiceFramework<NIM_SHP> { | ||||
| public: | ||||
|     explicit NIM_SHP() : ServiceFramework{"nim:shp"} { | ||||
|         // clang-format off | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "RequestDeviceAuthenticationToken"}, | ||||
|             {1, nullptr, "RequestCachedDeviceAuthenticationToken"}, | ||||
|             {100, nullptr, "RequestRegisterDeviceAccount"}, | ||||
|             {101, nullptr, "RequestUnregisterDeviceAccount"}, | ||||
|             {102, nullptr, "RequestDeviceAccountStatus"}, | ||||
|             {103, nullptr, "GetDeviceAccountInfo"}, | ||||
|             {104, nullptr, "RequestDeviceRegistrationInfo"}, | ||||
|             {105, nullptr, "RequestTransferDeviceAccount"}, | ||||
|             {106, nullptr, "RequestSyncRegistration"}, | ||||
|             {107, nullptr, "IsOwnDeviceId"}, | ||||
|             {200, nullptr, "RequestRegisterNotificationToken"}, | ||||
|             {300, nullptr, "RequestUnlinkDevice"}, | ||||
|             {301, nullptr, "RequestUnlinkDeviceIntegrated"}, | ||||
|             {302, nullptr, "RequestLinkDevice"}, | ||||
|             {303, nullptr, "HasDeviceLink"}, | ||||
|             {304, nullptr, "RequestUnlinkDeviceAll"}, | ||||
|             {305, nullptr, "RequestCreateVirtualAccount"}, | ||||
|             {306, nullptr, "RequestDeviceLinkStatus"}, | ||||
|             {400, nullptr, "GetAccountByVirtualAccount"}, | ||||
|             {500, nullptr, "RequestSyncTicket"}, | ||||
|             {501, nullptr, "RequestDownloadTicket"}, | ||||
|             {502, nullptr, "RequestDownloadTicketForPrepurchasedContents"}, | ||||
|         }; | ||||
|         // clang-format on | ||||
|  | ||||
|         RegisterHandlers(functions); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| class NTC final : public ServiceFramework<NTC> { | ||||
| public: | ||||
|     explicit NTC() : ServiceFramework{"ntc"} { | ||||
|         // clang-format off | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, nullptr, "OpenEnsureNetworkClockAvailabilityService"}, | ||||
|             {100, nullptr, "SuspendAutonomicTimeCorrection"}, | ||||
|             {101, nullptr, "ResumeAutonomicTimeCorrection"}, | ||||
|         }; | ||||
|         // clang-format on | ||||
|  | ||||
|         RegisterHandlers(functions); | ||||
|     } | ||||
| }; | ||||
|  | ||||
| void InstallInterfaces(SM::ServiceManager& sm) { | ||||
|     std::make_shared<NIM>()->InstallAsService(sm); | ||||
|     std::make_shared<NIM_SHP>()->InstallAsService(sm); | ||||
|     std::make_shared<NTC>()->InstallAsService(sm); | ||||
| } | ||||
|  | ||||
| } // namespace Service::NIM | ||||
							
								
								
									
										15
									
								
								src/core/hle/service/nim/nim.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								src/core/hle/service/nim/nim.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,15 @@ | ||||
| // Copyright 2018 yuzu emulator team | ||||
| // Licensed under GPLv2 or any later version | ||||
| // Refer to the license.txt file included. | ||||
|  | ||||
| #pragma once | ||||
|  | ||||
| namespace Service::SM { | ||||
| class ServiceManager; | ||||
| } | ||||
|  | ||||
| namespace Service::NIM { | ||||
|  | ||||
| void InstallInterfaces(SM::ServiceManager& sm); | ||||
|  | ||||
| } // namespace Service::NIM | ||||
| @@ -34,6 +34,7 @@ | ||||
| #include "core/hle/service/mm/mm_u.h" | ||||
| #include "core/hle/service/nfp/nfp.h" | ||||
| #include "core/hle/service/nifm/nifm.h" | ||||
| #include "core/hle/service/nim/nim.h" | ||||
| #include "core/hle/service/ns/ns.h" | ||||
| #include "core/hle/service/nvdrv/nvdrv.h" | ||||
| #include "core/hle/service/pctl/pctl.h" | ||||
| @@ -206,6 +207,7 @@ void Init(std::shared_ptr<SM::ServiceManager>& sm) { | ||||
|     MM::InstallInterfaces(*sm); | ||||
|     NFP::InstallInterfaces(*sm); | ||||
|     NIFM::InstallInterfaces(*sm); | ||||
|     NIM::InstallInterfaces(*sm); | ||||
|     NS::InstallInterfaces(*sm); | ||||
|     Nvidia::InstallInterfaces(*sm); | ||||
|     PCTL::InstallInterfaces(*sm); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user