caps_a.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. // SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project
  2. // SPDX-License-Identifier: GPL-2.0-or-later
  3. #pragma once
  4. #include "core/hle/service/caps/caps_types.h"
  5. #include "core/hle/service/cmif_types.h"
  6. #include "core/hle/service/service.h"
  7. namespace Core {
  8. class System;
  9. }
  10. namespace Service::Capture {
  11. class AlbumManager;
  12. class IAlbumAccessorService final : public ServiceFramework<IAlbumAccessorService> {
  13. public:
  14. explicit IAlbumAccessorService(Core::System& system_,
  15. std::shared_ptr<AlbumManager> album_manager);
  16. ~IAlbumAccessorService() override;
  17. private:
  18. Result DeleteAlbumFile(AlbumFileId file_id);
  19. Result IsAlbumMounted(Out<bool> out_is_mounted, AlbumStorage storage);
  20. Result Unknown18(
  21. Out<u32> out_buffer_size,
  22. OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure>
  23. out_buffer);
  24. Result GetAlbumFileListEx0(Out<u64> out_entries_size, AlbumStorage storage, u8 flags,
  25. OutArray<AlbumEntry, BufferAttr_HipcMapAlias> out_entries);
  26. Result GetAutoSavingStorage(Out<bool> out_is_autosaving);
  27. Result LoadAlbumScreenShotImageEx1(
  28. const AlbumFileId& file_id, const ScreenShotDecodeOption& decoder_options,
  29. OutLargeData<LoadAlbumScreenShotImageOutput, BufferAttr_HipcMapAlias> out_image_output,
  30. OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_image,
  31. OutArray<u8, BufferAttr_HipcMapAlias> out_buffer);
  32. Result LoadAlbumScreenShotThumbnailImageEx1(
  33. const AlbumFileId& file_id, const ScreenShotDecodeOption& decoder_options,
  34. OutLargeData<LoadAlbumScreenShotImageOutput, BufferAttr_HipcMapAlias> out_image_output,
  35. OutArray<u8, BufferAttr_HipcMapAlias | BufferAttr_HipcMapTransferAllowsNonSecure> out_image,
  36. OutArray<u8, BufferAttr_HipcMapAlias> out_buffer);
  37. Result TranslateResult(Result in_result);
  38. std::shared_ptr<AlbumManager> manager = nullptr;
  39. };
  40. } // namespace Service::Capture