mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	olsc: add IRemoteStorageController
This commit is contained in:
		
							
								
								
									
										54
									
								
								src/core/hle/service/olsc/remote_storage_controller.cpp
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										54
									
								
								src/core/hle/service/olsc/remote_storage_controller.cpp
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,54 @@
 | 
				
			|||||||
 | 
					// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "core/hle/service/cmif_serialization.h"
 | 
				
			||||||
 | 
					#include "core/hle/service/olsc/remote_storage_controller.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Service::OLSC {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IRemoteStorageController::IRemoteStorageController(Core::System& system_)
 | 
				
			||||||
 | 
					    : ServiceFramework{system_, "IRemoteStorageController"} {
 | 
				
			||||||
 | 
					    // clang-format off
 | 
				
			||||||
 | 
					    static const FunctionInfo functions[] = {
 | 
				
			||||||
 | 
					        {0, nullptr, "GetSaveDataArchiveInfoBySaveDataId"},
 | 
				
			||||||
 | 
					        {1, nullptr, "GetSaveDataArchiveInfoByApplicationId"},
 | 
				
			||||||
 | 
					        {3, nullptr, "GetSaveDataArchiveCount"},
 | 
				
			||||||
 | 
					        {6, nullptr, "CleanupSaveDataArchives"},
 | 
				
			||||||
 | 
					        {7, nullptr, "CreateSaveDataArchiveCacheUpdationTask"},
 | 
				
			||||||
 | 
					        {8, nullptr, "CreateSaveDataArchiveCacheUpdationForSpecifiedApplicationTask"},
 | 
				
			||||||
 | 
					        {9, nullptr, "Delete"},
 | 
				
			||||||
 | 
					        {10, nullptr, "GetSeriesInfo"},
 | 
				
			||||||
 | 
					        {11, nullptr, "CreateDeleteDataTask"},
 | 
				
			||||||
 | 
					        {12, nullptr, "DeleteSeriesInfo"},
 | 
				
			||||||
 | 
					        {13, nullptr, "CreateRegisterNotificationTokenTask"},
 | 
				
			||||||
 | 
					        {14, nullptr, "UpdateSeriesInfo"},
 | 
				
			||||||
 | 
					        {15, nullptr, "RegisterUploadSaveDataTransferTaskForAutonomyRegistration"},
 | 
				
			||||||
 | 
					        {16, nullptr, "CreateCleanupToDeleteSaveDataArchiveInfoTask"},
 | 
				
			||||||
 | 
					        {17, nullptr, "ListDataInfo"},
 | 
				
			||||||
 | 
					        {18, nullptr, "GetDataInfo"},
 | 
				
			||||||
 | 
					        {19, nullptr, "Unknown19"},
 | 
				
			||||||
 | 
					        {20, nullptr, "CreateSaveDataArchiveInfoCacheForSaveDataBackupUpdationTask"},
 | 
				
			||||||
 | 
					        {21, nullptr, "ListSecondarySaves"},
 | 
				
			||||||
 | 
					        {22, D<&IRemoteStorageController::GetSecondarySave>, "GetSecondarySave"},
 | 
				
			||||||
 | 
					        {23, nullptr, "TouchSecondarySave"},
 | 
				
			||||||
 | 
					        {24, nullptr, "GetSecondarySaveDataInfo"},
 | 
				
			||||||
 | 
					        {25, nullptr, "RegisterDownloadSaveDataTransferTaskForAutonomyRegistration"},
 | 
				
			||||||
 | 
					        {900, nullptr, "Unknown900"},
 | 
				
			||||||
 | 
					    };
 | 
				
			||||||
 | 
					    // clang-format on
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    RegisterHandlers(functions);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					IRemoteStorageController::~IRemoteStorageController() = default;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					Result IRemoteStorageController::GetSecondarySave(Out<bool> out_has_secondary_save,
 | 
				
			||||||
 | 
					                                                  Out<std::array<u64, 3>> out_unknown,
 | 
				
			||||||
 | 
					                                                  u64 application_id) {
 | 
				
			||||||
 | 
					    LOG_ERROR(Service_OLSC, "(STUBBED) called, application_id={:016X}", application_id);
 | 
				
			||||||
 | 
					    *out_has_secondary_save = false;
 | 
				
			||||||
 | 
					    *out_unknown = {};
 | 
				
			||||||
 | 
					    R_SUCCEED();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace Service::OLSC
 | 
				
			||||||
							
								
								
									
										19
									
								
								src/core/hle/service/olsc/remote_storage_controller.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								src/core/hle/service/olsc/remote_storage_controller.h
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,19 @@
 | 
				
			|||||||
 | 
					// SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project
 | 
				
			||||||
 | 
					// SPDX-License-Identifier: GPL-2.0-or-later
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "core/hle/service/cmif_types.h"
 | 
				
			||||||
 | 
					#include "core/hle/service/service.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace Service::OLSC {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class IRemoteStorageController final : public ServiceFramework<IRemoteStorageController> {
 | 
				
			||||||
 | 
					public:
 | 
				
			||||||
 | 
					    explicit IRemoteStorageController(Core::System& system_);
 | 
				
			||||||
 | 
					    ~IRemoteStorageController() override;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					private:
 | 
				
			||||||
 | 
					    Result GetSecondarySave(Out<bool> out_has_secondary_save, Out<std::array<u64, 3>> out_unknown,
 | 
				
			||||||
 | 
					                            u64 application_id);
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace Service::OLSC
 | 
				
			||||||
		Reference in New Issue
	
	Block a user