mirror of
				https://github.com/PabloMK7/citra.git
				synced 2025-10-31 05:40:04 +00:00 
			
		
		
		
	Expose loader helper functions for identifying files.
This commit is contained in:
		
							parent
							
								
									b3af7aad9e
								
							
						
					
					
						commit
						bba12520c4
					
				
					 2 changed files with 41 additions and 13 deletions
				
			
		|  | @ -26,12 +26,7 @@ const std::initializer_list<Kernel::AddressMapping> default_address_mappings = { | ||||||
|     { 0x1F000000, 0x600000, false }, // entire VRAM
 |     { 0x1F000000, 0x600000, false }, // entire VRAM
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /**
 | FileType IdentifyFile(FileUtil::IOFile& file) { | ||||||
|  * Identifies the type of a bootable file |  | ||||||
|  * @param file open file |  | ||||||
|  * @return FileType of file |  | ||||||
|  */ |  | ||||||
| static FileType IdentifyFile(FileUtil::IOFile& file) { |  | ||||||
|     FileType type; |     FileType type; | ||||||
| 
 | 
 | ||||||
| #define CHECK_TYPE(loader) \ | #define CHECK_TYPE(loader) \ | ||||||
|  | @ -48,12 +43,17 @@ static FileType IdentifyFile(FileUtil::IOFile& file) { | ||||||
|     return FileType::Unknown; |     return FileType::Unknown; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | FileType IdentifyFile(const std::string& file_name) { | ||||||
|  * Guess the type of a bootable file from its extension |     FileUtil::IOFile file(file_name, "rb"); | ||||||
|  * @param extension_ String extension of bootable file |     if (!file.IsOpen()) { | ||||||
|  * @return FileType of file |         LOG_ERROR(Loader, "Failed to load file %s", file_name.c_str()); | ||||||
|  */ |         return FileType::Unknown; | ||||||
| static FileType GuessFromExtension(const std::string& extension_) { |     } | ||||||
|  | 
 | ||||||
|  |     return IdentifyFile(file); | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | FileType GuessFromExtension(const std::string& extension_) { | ||||||
|     std::string extension = Common::ToLower(extension_); |     std::string extension = Common::ToLower(extension_); | ||||||
| 
 | 
 | ||||||
|     if (extension == ".elf" || extension == ".axf") |     if (extension == ".elf" || extension == ".axf") | ||||||
|  | @ -71,7 +71,7 @@ static FileType GuessFromExtension(const std::string& extension_) { | ||||||
|     return FileType::Unknown; |     return FileType::Unknown; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const char* GetFileTypeString(FileType type) { | const char* GetFileTypeString(FileType type) { | ||||||
|     switch (type) { |     switch (type) { | ||||||
|     case FileType::CCI: |     case FileType::CCI: | ||||||
|         return "NCSD"; |         return "NCSD"; | ||||||
|  |  | ||||||
|  | @ -33,6 +33,34 @@ enum class FileType { | ||||||
|     THREEDSX, //3DSX
 |     THREEDSX, //3DSX
 | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | /**
 | ||||||
|  |  * Identifies the type of a bootable file based on the magic value in its header. | ||||||
|  |  * @param file open file | ||||||
|  |  * @return FileType of file | ||||||
|  |  */ | ||||||
|  | FileType IdentifyFile(FileUtil::IOFile& file); | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * Identifies the type of a bootable file based on the magic value in its header. | ||||||
|  |  * @param file_name path to file | ||||||
|  |  * @return FileType of file. Note: this will return FileType::Unknown if it is unable to determine | ||||||
|  |  * a filetype, and will never return FileType::Error. | ||||||
|  |  */ | ||||||
|  | FileType IdentifyFile(const std::string& file_name); | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * Guess the type of a bootable file from its extension | ||||||
|  |  * @param extension String extension of bootable file | ||||||
|  |  * @return FileType of file. Note: this will return FileType::Unknown if it is unable to determine | ||||||
|  |  * a filetype, and will never return FileType::Error. | ||||||
|  |  */ | ||||||
|  | FileType GuessFromExtension(const std::string& extension_); | ||||||
|  | 
 | ||||||
|  | /**
 | ||||||
|  |  * Convert a FileType into a string which can be displayed to the user. | ||||||
|  |  */ | ||||||
|  | const char* GetFileTypeString(FileType type); | ||||||
|  | 
 | ||||||
| /// Return type for functions in Loader namespace
 | /// Return type for functions in Loader namespace
 | ||||||
| enum class ResultStatus { | enum class ResultStatus { | ||||||
|     Success, |     Success, | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue