diff options
| author | 2024-02-23 12:17:24 -0500 | |
|---|---|---|
| committer | 2024-02-23 12:17:24 -0500 | |
| commit | 22b91afa6944b1c1242691e67abef891b0f5df42 (patch) | |
| tree | b195b12419d3cd1cbf838a003d06210b773ae7cb /src/core/hle/service/filesystem | |
| parent | Merge pull request #13133 from liamwhite/libstdcxx-issue (diff) | |
| download | yuzu-22b91afa6944b1c1242691e67abef891b0f5df42.tar.gz yuzu-22b91afa6944b1c1242691e67abef891b0f5df42.tar.xz yuzu-22b91afa6944b1c1242691e67abef891b0f5df42.zip | |
fs: add ISaveDataTransferProhibiter, stub FindSaveDataWithFilter
Diffstat (limited to 'src/core/hle/service/filesystem')
4 files changed, 53 insertions, 2 deletions
diff --git a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp index fc67a4713..04819afdf 100644 --- a/src/core/hle/service/filesystem/fsp/fsp_srv.cpp +++ b/src/core/hle/service/filesystem/fsp/fsp_srv.cpp | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | #include "core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h" | 34 | #include "core/hle/service/filesystem/fsp/fs_i_save_data_info_reader.h" |
| 35 | #include "core/hle/service/filesystem/fsp/fs_i_storage.h" | 35 | #include "core/hle/service/filesystem/fsp/fs_i_storage.h" |
| 36 | #include "core/hle/service/filesystem/fsp/fsp_srv.h" | 36 | #include "core/hle/service/filesystem/fsp/fsp_srv.h" |
| 37 | #include "core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.h" | ||
| 37 | #include "core/hle/service/filesystem/romfs_controller.h" | 38 | #include "core/hle/service/filesystem/romfs_controller.h" |
| 38 | #include "core/hle/service/filesystem/save_data_controller.h" | 39 | #include "core/hle/service/filesystem/save_data_controller.h" |
| 39 | #include "core/hle/service/hle_ipc.h" | 40 | #include "core/hle/service/hle_ipc.h" |
| @@ -87,7 +88,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 87 | {64, nullptr, "OpenSaveDataInternalStorageFileSystem"}, | 88 | {64, nullptr, "OpenSaveDataInternalStorageFileSystem"}, |
| 88 | {65, nullptr, "UpdateSaveDataMacForDebug"}, | 89 | {65, nullptr, "UpdateSaveDataMacForDebug"}, |
| 89 | {66, nullptr, "WriteSaveDataFileSystemExtraData2"}, | 90 | {66, nullptr, "WriteSaveDataFileSystemExtraData2"}, |
| 90 | {67, nullptr, "FindSaveDataWithFilter"}, | 91 | {67, D<&FSP_SRV::FindSaveDataWithFilter>, "FindSaveDataWithFilter"}, |
| 91 | {68, nullptr, "OpenSaveDataInfoReaderBySaveDataFilter"}, | 92 | {68, nullptr, "OpenSaveDataInfoReaderBySaveDataFilter"}, |
| 92 | {69, nullptr, "ReadSaveDataFileSystemExtraDataBySaveDataAttribute"}, | 93 | {69, nullptr, "ReadSaveDataFileSystemExtraDataBySaveDataAttribute"}, |
| 93 | {70, D<&FSP_SRV::WriteSaveDataFileSystemExtraDataBySaveDataAttribute>, "WriteSaveDataFileSystemExtraDataBySaveDataAttribute"}, | 94 | {70, D<&FSP_SRV::WriteSaveDataFileSystemExtraDataBySaveDataAttribute>, "WriteSaveDataFileSystemExtraDataBySaveDataAttribute"}, |
| @@ -95,7 +96,7 @@ FSP_SRV::FSP_SRV(Core::System& system_) | |||
| 95 | {80, nullptr, "OpenSaveDataMetaFile"}, | 96 | {80, nullptr, "OpenSaveDataMetaFile"}, |
| 96 | {81, nullptr, "OpenSaveDataTransferManager"}, | 97 | {81, nullptr, "OpenSaveDataTransferManager"}, |
| 97 | {82, nullptr, "OpenSaveDataTransferManagerVersion2"}, | 98 | {82, nullptr, "OpenSaveDataTransferManagerVersion2"}, |
| 98 | {83, nullptr, "OpenSaveDataTransferProhibiterForCloudBackUp"}, | 99 | {83, D<&FSP_SRV::OpenSaveDataTransferProhibiter>, "OpenSaveDataTransferProhibiter"}, |
| 99 | {84, nullptr, "ListApplicationAccessibleSaveDataOwnerId"}, | 100 | {84, nullptr, "ListApplicationAccessibleSaveDataOwnerId"}, |
| 100 | {85, nullptr, "OpenSaveDataTransferManagerForSaveDataRepair"}, | 101 | {85, nullptr, "OpenSaveDataTransferManagerForSaveDataRepair"}, |
| 101 | {86, nullptr, "OpenSaveDataMover"}, | 102 | {86, nullptr, "OpenSaveDataMover"}, |
| @@ -308,6 +309,14 @@ Result FSP_SRV::OpenSaveDataInfoReaderOnlyCacheStorage( | |||
| 308 | R_SUCCEED(); | 309 | R_SUCCEED(); |
| 309 | } | 310 | } |
| 310 | 311 | ||
| 312 | Result FSP_SRV::FindSaveDataWithFilter(Out<s64> out_count, | ||
| 313 | OutBuffer<BufferAttr_HipcMapAlias> out_buffer, | ||
| 314 | FileSys::SaveDataSpaceId space_id, | ||
| 315 | FileSys::SaveDataFilter filter) { | ||
| 316 | LOG_WARNING(Service_FS, "(STUBBED) called"); | ||
| 317 | R_THROW(FileSys::ResultTargetNotFound); | ||
| 318 | } | ||
| 319 | |||
| 311 | Result FSP_SRV::WriteSaveDataFileSystemExtraDataBySaveDataAttribute() { | 320 | Result FSP_SRV::WriteSaveDataFileSystemExtraDataBySaveDataAttribute() { |
| 312 | LOG_WARNING(Service_FS, "(STUBBED) called."); | 321 | LOG_WARNING(Service_FS, "(STUBBED) called."); |
| 313 | 322 | ||
| @@ -332,6 +341,13 @@ Result FSP_SRV::ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute( | |||
| 332 | R_SUCCEED(); | 341 | R_SUCCEED(); |
| 333 | } | 342 | } |
| 334 | 343 | ||
| 344 | Result FSP_SRV::OpenSaveDataTransferProhibiter( | ||
| 345 | OutInterface<ISaveDataTransferProhibiter> out_prohibiter, u64 id) { | ||
| 346 | LOG_WARNING(Service_FS, "(STUBBED) called, id={:016X}", id); | ||
| 347 | *out_prohibiter = std::make_shared<ISaveDataTransferProhibiter>(system); | ||
| 348 | R_SUCCEED(); | ||
| 349 | } | ||
| 350 | |||
| 335 | Result FSP_SRV::OpenDataStorageByCurrentProcess(OutInterface<IStorage> out_interface) { | 351 | Result FSP_SRV::OpenDataStorageByCurrentProcess(OutInterface<IStorage> out_interface) { |
| 336 | LOG_DEBUG(Service_FS, "called"); | 352 | LOG_DEBUG(Service_FS, "called"); |
| 337 | 353 | ||
diff --git a/src/core/hle/service/filesystem/fsp/fsp_srv.h b/src/core/hle/service/filesystem/fsp/fsp_srv.h index ee67f6bc1..db51852c7 100644 --- a/src/core/hle/service/filesystem/fsp/fsp_srv.h +++ b/src/core/hle/service/filesystem/fsp/fsp_srv.h | |||
| @@ -25,6 +25,7 @@ class SaveDataController; | |||
| 25 | 25 | ||
| 26 | class IFileSystem; | 26 | class IFileSystem; |
| 27 | class ISaveDataInfoReader; | 27 | class ISaveDataInfoReader; |
| 28 | class ISaveDataTransferProhibiter; | ||
| 28 | class IStorage; | 29 | class IStorage; |
| 29 | class IMultiCommitManager; | 30 | class IMultiCommitManager; |
| 30 | 31 | ||
| @@ -66,11 +67,16 @@ private: | |||
| 66 | Result OpenSaveDataInfoReaderBySaveDataSpaceId(OutInterface<ISaveDataInfoReader> out_interface, | 67 | Result OpenSaveDataInfoReaderBySaveDataSpaceId(OutInterface<ISaveDataInfoReader> out_interface, |
| 67 | FileSys::SaveDataSpaceId space); | 68 | FileSys::SaveDataSpaceId space); |
| 68 | Result OpenSaveDataInfoReaderOnlyCacheStorage(OutInterface<ISaveDataInfoReader> out_interface); | 69 | Result OpenSaveDataInfoReaderOnlyCacheStorage(OutInterface<ISaveDataInfoReader> out_interface); |
| 70 | Result FindSaveDataWithFilter(Out<s64> out_count, OutBuffer<BufferAttr_HipcMapAlias> out_buffer, | ||
| 71 | FileSys::SaveDataSpaceId space_id, | ||
| 72 | FileSys::SaveDataFilter filter); | ||
| 69 | Result WriteSaveDataFileSystemExtraDataBySaveDataAttribute(); | 73 | Result WriteSaveDataFileSystemExtraDataBySaveDataAttribute(); |
| 70 | Result ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute( | 74 | Result ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute( |
| 71 | FileSys::SaveDataSpaceId space_id, FileSys::SaveDataAttribute attribute, | 75 | FileSys::SaveDataSpaceId space_id, FileSys::SaveDataAttribute attribute, |
| 72 | InBuffer<BufferAttr_HipcMapAlias> mask_buffer, | 76 | InBuffer<BufferAttr_HipcMapAlias> mask_buffer, |
| 73 | OutBuffer<BufferAttr_HipcMapAlias> out_buffer); | 77 | OutBuffer<BufferAttr_HipcMapAlias> out_buffer); |
| 78 | Result OpenSaveDataTransferProhibiter(OutInterface<ISaveDataTransferProhibiter> out_prohibiter, | ||
| 79 | u64 id); | ||
| 74 | Result OpenDataStorageByCurrentProcess(OutInterface<IStorage> out_interface); | 80 | Result OpenDataStorageByCurrentProcess(OutInterface<IStorage> out_interface); |
| 75 | Result OpenDataStorageByDataId(OutInterface<IStorage> out_interface, | 81 | Result OpenDataStorageByDataId(OutInterface<IStorage> out_interface, |
| 76 | FileSys::StorageId storage_id, u32 unknown, u64 title_id); | 82 | FileSys::StorageId storage_id, u32 unknown, u64 title_id); |
diff --git a/src/core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.cpp b/src/core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.cpp new file mode 100644 index 000000000..d8d6289fe --- /dev/null +++ b/src/core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.cpp | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #include "core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.h" | ||
| 5 | |||
| 6 | namespace Service::FileSystem { | ||
| 7 | |||
| 8 | ISaveDataTransferProhibiter::ISaveDataTransferProhibiter(Core::System& system_) | ||
| 9 | : ServiceFramework{system_, "ISaveDataTransferProhibiter"} {} | ||
| 10 | |||
| 11 | ISaveDataTransferProhibiter::~ISaveDataTransferProhibiter() = default; | ||
| 12 | |||
| 13 | } // namespace Service::FileSystem | ||
diff --git a/src/core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.h b/src/core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.h new file mode 100644 index 000000000..d206e1dea --- /dev/null +++ b/src/core/hle/service/filesystem/fsp/save_data_transfer_prohibiter.h | |||
| @@ -0,0 +1,16 @@ | |||
| 1 | // SPDX-FileCopyrightText: Copyright 2024 yuzu Emulator Project | ||
| 2 | // SPDX-License-Identifier: GPL-2.0-or-later | ||
| 3 | |||
| 4 | #pragma once | ||
| 5 | |||
| 6 | #include "core/hle/service/service.h" | ||
| 7 | |||
| 8 | namespace Service::FileSystem { | ||
| 9 | |||
| 10 | class ISaveDataTransferProhibiter : public ServiceFramework<ISaveDataTransferProhibiter> { | ||
| 11 | public: | ||
| 12 | explicit ISaveDataTransferProhibiter(Core::System& system_); | ||
| 13 | ~ISaveDataTransferProhibiter() override; | ||
| 14 | }; | ||
| 15 | |||
| 16 | } // namespace Service::FileSystem | ||