| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- // Copyright 2018 yuzu emulator team
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #pragma once
- #include <memory>
- #include "core/hle/service/service.h"
- namespace Core {
- class Reporter;
- }
- namespace FileSys {
- class ContentProvider;
- class FileSystemBackend;
- } // namespace FileSys
- namespace Service::FileSystem {
- enum class AccessLogVersion : u32 {
- V7_0_0 = 2,
- Latest = V7_0_0,
- };
- enum class LogMode : u32 {
- Off,
- Log,
- RedirectToSdCard,
- LogToSdCard = Log | RedirectToSdCard,
- };
- class FSP_SRV final : public ServiceFramework<FSP_SRV> {
- public:
- explicit FSP_SRV(Core::System& system_);
- ~FSP_SRV() override;
- private:
- void SetCurrentProcess(Kernel::HLERequestContext& ctx);
- void OpenFileSystemWithPatch(Kernel::HLERequestContext& ctx);
- void OpenSdCardFileSystem(Kernel::HLERequestContext& ctx);
- void CreateSaveDataFileSystem(Kernel::HLERequestContext& ctx);
- void OpenSaveDataFileSystem(Kernel::HLERequestContext& ctx);
- void OpenReadOnlySaveDataFileSystem(Kernel::HLERequestContext& ctx);
- void OpenSaveDataInfoReaderBySaveDataSpaceId(Kernel::HLERequestContext& ctx);
- void WriteSaveDataFileSystemExtraDataBySaveDataAttribute(Kernel::HLERequestContext& ctx);
- void ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute(Kernel::HLERequestContext& ctx);
- void OpenDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx);
- void OpenDataStorageByDataId(Kernel::HLERequestContext& ctx);
- void OpenPatchDataStorageByCurrentProcess(Kernel::HLERequestContext& ctx);
- void SetGlobalAccessLogMode(Kernel::HLERequestContext& ctx);
- void GetGlobalAccessLogMode(Kernel::HLERequestContext& ctx);
- void OutputAccessLogToSdCard(Kernel::HLERequestContext& ctx);
- void GetAccessLogVersionInfo(Kernel::HLERequestContext& ctx);
- void OpenMultiCommitManager(Kernel::HLERequestContext& ctx);
- FileSystemController& fsc;
- const FileSys::ContentProvider& content_provider;
- FileSys::VirtualFile romfs;
- u64 current_process_id = 0;
- u32 access_log_program_index = 0;
- LogMode log_mode = LogMode::LogToSdCard;
- const Core::Reporter& reporter;
- };
- } // namespace Service::FileSystem
|