// SPDX-FileCopyrightText: Copyright 2020 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later #include "common/logging/log.h" #include "core/hle/service/caps/caps_manager.h" #include "core/hle/service/caps/caps_types.h" #include "core/hle/service/caps/caps_u.h" #include "core/hle/service/cmif_serialization.h" #include "core/hle/service/ipc_helpers.h" namespace Service::Capture { IAlbumApplicationService::IAlbumApplicationService(Core::System& system_, std::shared_ptr album_manager) : ServiceFramework{system_, "caps:u"}, manager{album_manager} { // clang-format off static const FunctionInfo functions[] = { {32, C<&IAlbumApplicationService::SetShimLibraryVersion>, "SetShimLibraryVersion"}, {102, C<&IAlbumApplicationService::GetAlbumFileList0AafeAruidDeprecated>, "GetAlbumFileList0AafeAruidDeprecated"}, {103, nullptr, "DeleteAlbumFileByAruid"}, {104, nullptr, "GetAlbumFileSizeByAruid"}, {105, nullptr, "DeleteAlbumFileByAruidForDebug"}, {110, nullptr, "LoadAlbumScreenShotImageByAruid"}, {120, nullptr, "LoadAlbumScreenShotThumbnailImageByAruid"}, {130, nullptr, "PrecheckToCreateContentsByAruid"}, {140, nullptr, "GetAlbumFileList1AafeAruidDeprecated"}, {141, nullptr, "GetAlbumFileList2AafeUidAruidDeprecated"}, {142, C<&IAlbumApplicationService::GetAlbumFileList3AaeAruid>, "GetAlbumFileList3AaeAruid"}, {143, nullptr, "GetAlbumFileList4AaeUidAruid"}, {144, nullptr, "GetAllAlbumFileList3AaeAruid"}, {60002, nullptr, "OpenAccessorSessionForApplication"}, }; // clang-format on RegisterHandlers(functions); } IAlbumApplicationService::~IAlbumApplicationService() = default; Result IAlbumApplicationService::SetShimLibraryVersion(ShimLibraryVersion library_version, ClientAppletResourceUserId aruid) { LOG_WARNING(Service_Capture, "(STUBBED) called. library_version={}, applet_resource_user_id={}", library_version, aruid.pid); R_SUCCEED(); } Result IAlbumApplicationService::GetAlbumFileList0AafeAruidDeprecated( Out out_entries_count, ContentType content_type, s64 start_posix_time, s64 end_posix_time, ClientAppletResourceUserId aruid, OutArray out_entries) { LOG_WARNING(Service_Capture, "(STUBBED) called. content_type={}, start_posix_time={}, end_posix_time={}, " "applet_resource_user_id={}", content_type, start_posix_time, end_posix_time, aruid.pid); R_TRY(manager->IsAlbumMounted(AlbumStorage::Sd)); R_RETURN(manager->GetAlbumFileList(out_entries, *out_entries_count, content_type, start_posix_time, end_posix_time, aruid.pid)); } Result IAlbumApplicationService::GetAlbumFileList3AaeAruid( Out out_entries_count, ContentType content_type, AlbumFileDateTime start_date_time, AlbumFileDateTime end_date_time, ClientAppletResourceUserId aruid, OutArray out_entries) { LOG_WARNING(Service_Capture, "(STUBBED) called. content_type={}, start_date={}/{}/{}, " "end_date={}/{}/{}, applet_resource_user_id={}", content_type, start_date_time.year, start_date_time.month, start_date_time.day, end_date_time.year, end_date_time.month, end_date_time.day, aruid.pid); R_TRY(manager->IsAlbumMounted(AlbumStorage::Sd)); R_RETURN(manager->GetAlbumFileList(out_entries, *out_entries_count, content_type, start_date_time, end_date_time, aruid.pid)); } } // namespace Service::Capture