Просмотр исходного кода

service: caps: Implement GetAlbumFIleList

Narr the Reg 2 лет назад
Родитель
Сommit
39b958ab86
2 измененных файлов с 13 добавлено и 1 удалено
  1. 10 1
      src/core/hle/service/caps/caps_a.cpp
  2. 3 0
      src/core/hle/service/caps/caps_a.h

+ 10 - 1
src/core/hle/service/caps/caps_a.cpp

@@ -16,7 +16,7 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
     // clang-format off
     static const FunctionInfo functions[] = {
         {0, nullptr, "GetAlbumFileCount"},
-        {1, nullptr, "GetAlbumFileList"},
+        {1, C<&IAlbumAccessorService::GetAlbumFileList>, "GetAlbumFileList"},
         {2, nullptr, "LoadAlbumFile"},
         {3, C<&IAlbumAccessorService::DeleteAlbumFile>, "DeleteAlbumFile"},
         {4, nullptr, "StorageCopyAlbumFile"},
@@ -62,6 +62,15 @@ IAlbumAccessorService::IAlbumAccessorService(Core::System& system_,
 
 IAlbumAccessorService::~IAlbumAccessorService() = default;
 
+Result IAlbumAccessorService::GetAlbumFileList(
+    Out<u64> out_count, AlbumStorage storage,
+    OutArray<AlbumEntry, BufferAttr_HipcMapAlias> out_entries) {
+    LOG_INFO(Service_Capture, "called, storage={}", storage);
+
+    const Result result = manager->GetAlbumFileList(out_entries, *out_count, storage, 0);
+    R_RETURN(TranslateResult(result));
+}
+
 Result IAlbumAccessorService::DeleteAlbumFile(AlbumFileId file_id) {
     LOG_INFO(Service_Capture, "called, application_id=0x{:0x}, storage={}, type={}",
              file_id.application_id, file_id.storage, file_id.type);

+ 3 - 0
src/core/hle/service/caps/caps_a.h

@@ -21,6 +21,9 @@ public:
     ~IAlbumAccessorService() override;
 
 private:
+    Result GetAlbumFileList(Out<u64> out_count, AlbumStorage storage,
+                            OutArray<AlbumEntry, BufferAttr_HipcMapAlias> out_entries);
+
     Result DeleteAlbumFile(AlbumFileId file_id);
 
     Result IsAlbumMounted(Out<bool> out_is_mounted, AlbumStorage storage);