| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- // Copyright 2018 yuzu emulator team
- // Licensed under GPLv2 or any later version
- // Refer to the license.txt file included.
- #pragma once
- #include <memory>
- #include "common/common_types.h"
- #include "core/file_sys/vfs.h"
- #include "core/hle/result.h"
- namespace Loader {
- class AppLoader;
- } // namespace Loader
- namespace FileSys {
- enum class ContentRecordType : u8;
- enum class StorageId : u8 {
- None = 0,
- Host = 1,
- GameCard = 2,
- NandSystem = 3,
- NandUser = 4,
- SdCard = 5,
- };
- /// File system interface to the RomFS archive
- class RomFSFactory {
- public:
- explicit RomFSFactory(Loader::AppLoader& app_loader);
- ~RomFSFactory();
- void SetPackedUpdate(VirtualFile update_raw);
- ResultVal<VirtualFile> OpenCurrentProcess(u64 current_process_title_id) const;
- ResultVal<VirtualFile> Open(u64 title_id, StorageId storage, ContentRecordType type) const;
- private:
- VirtualFile file;
- VirtualFile update_raw;
- bool updatable;
- u64 ivfc_offset;
- };
- } // namespace FileSys
|