mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	FS: Implement DiskFileSystem's OpenDirectory interface.
This commit is contained in:
		
							parent
							
								
									e1d7b9fc2c
								
							
						
					
					
						commit
						6d90d99d12
					
				| @ -108,8 +108,17 @@ ResultCode Disk_FileSystem::RenameDirectory(const Path& src_path, const Path& de | ||||
| } | ||||
| 
 | ||||
| ResultVal<std::unique_ptr<DirectoryBackend>> Disk_FileSystem::OpenDirectory( | ||||
|     const Path& path) const { | ||||
|     return MakeResult<std::unique_ptr<DirectoryBackend>>(std::make_unique<Disk_Directory>()); | ||||
|     const std::string& path) const { | ||||
| 
 | ||||
|     std::string full_path = base_directory + path; | ||||
| 
 | ||||
|     if (!FileUtil::IsDirectory(full_path)) { | ||||
|         // TODO(Subv): Find the correct error code for this.
 | ||||
|         return ResultCode(-1); | ||||
|     } | ||||
| 
 | ||||
|     auto directory = std::make_unique<Disk_Directory>(full_path); | ||||
|     return MakeResult<std::unique_ptr<DirectoryBackend>>(std::move(directory)); | ||||
| } | ||||
| 
 | ||||
| u64 Disk_FileSystem::GetFreeSpaceSize() const { | ||||
|  | ||||
| @ -32,7 +32,8 @@ public: | ||||
|     ResultCode CreateFile(const std::string& path, u64 size) const override; | ||||
|     ResultCode CreateDirectory(const Path& path) const override; | ||||
|     ResultCode RenameDirectory(const Path& src_path, const Path& dest_path) const override; | ||||
|     ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory(const Path& path) const override; | ||||
|     ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory( | ||||
|         const std::string& path) const override; | ||||
|     u64 GetFreeSpaceSize() const override; | ||||
|     ResultVal<EntryType> GetEntryType(const std::string& path) const override; | ||||
| 
 | ||||
|  | ||||
| @ -150,7 +150,8 @@ public: | ||||
|      * @param path Path relative to the archive | ||||
|      * @return Opened directory, or error code | ||||
|      */ | ||||
|     virtual ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory(const Path& path) const = 0; | ||||
|     virtual ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory( | ||||
|         const std::string& path) const = 0; | ||||
| 
 | ||||
|     /**
 | ||||
|      * Get the free space | ||||
|  | ||||
| @ -70,7 +70,8 @@ ResultCode RomFS_FileSystem::RenameDirectory(const Path& src_path, const Path& d | ||||
| } | ||||
| 
 | ||||
| ResultVal<std::unique_ptr<DirectoryBackend>> RomFS_FileSystem::OpenDirectory( | ||||
|     const Path& path) const { | ||||
|     const std::string& path) const { | ||||
|     LOG_WARNING(Service_FS, "Opening Directory in a ROMFS archive"); | ||||
|     return MakeResult<std::unique_ptr<DirectoryBackend>>(std::make_unique<ROMFSDirectory>()); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -38,7 +38,8 @@ public: | ||||
|     ResultCode CreateFile(const std::string& path, u64 size) const override; | ||||
|     ResultCode CreateDirectory(const Path& path) const override; | ||||
|     ResultCode RenameDirectory(const Path& src_path, const Path& dest_path) const override; | ||||
|     ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory(const Path& path) const override; | ||||
|     ResultVal<std::unique_ptr<DirectoryBackend>> OpenDirectory( | ||||
|         const std::string& path) const override; | ||||
|     u64 GetFreeSpaceSize() const override; | ||||
|     ResultVal<EntryType> GetEntryType(const std::string& path) const override; | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Subv
						Subv