Loader: Refactored use of const.
This commit is contained in:
		
							parent
							
								
									a8c4648520
								
							
						
					
					
						commit
						62b444cd17
					
				@ -342,7 +342,7 @@ bool ElfReader::LoadSymbols() {
 | 
			
		||||
namespace Loader {
 | 
			
		||||
 | 
			
		||||
/// AppLoader_ELF constructor
 | 
			
		||||
AppLoader_ELF::AppLoader_ELF(std::string& filename) : is_loaded(false) {
 | 
			
		||||
AppLoader_ELF::AppLoader_ELF(const std::string& filename) : is_loaded(false) {
 | 
			
		||||
    this->filename = filename;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -356,7 +356,7 @@ AppLoader_ELF::~AppLoader_ELF() {
 | 
			
		||||
 * @todo Move NCSD parsing out of here and create a separate function for loading these
 | 
			
		||||
 * @return True on success, otherwise false
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus AppLoader_ELF::Load() {
 | 
			
		||||
ResultStatus AppLoader_ELF::Load() {
 | 
			
		||||
    INFO_LOG(LOADER, "Loading ELF file %s...", filename.c_str());
 | 
			
		||||
 | 
			
		||||
    if (is_loaded)
 | 
			
		||||
 | 
			
		||||
@ -15,14 +15,14 @@ namespace Loader {
 | 
			
		||||
/// Loads an ELF/AXF file
 | 
			
		||||
class AppLoader_ELF : public AppLoader {
 | 
			
		||||
public:
 | 
			
		||||
    AppLoader_ELF(std::string& filename);
 | 
			
		||||
    AppLoader_ELF(const std::string& filename);
 | 
			
		||||
    ~AppLoader_ELF();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Load the bootable file
 | 
			
		||||
     * @return ResultStatus result of function
 | 
			
		||||
     */
 | 
			
		||||
    const ResultStatus Load();
 | 
			
		||||
    ResultStatus Load();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
    std::string filename;
 | 
			
		||||
 | 
			
		||||
@ -18,7 +18,7 @@ namespace Loader {
 | 
			
		||||
 * @todo (ShizZy) this function sucks... make it actually check file contents etc.
 | 
			
		||||
 * @return FileType of file
 | 
			
		||||
 */
 | 
			
		||||
const FileType IdentifyFile(const std::string &filename) {
 | 
			
		||||
FileType IdentifyFile(const std::string &filename) {
 | 
			
		||||
    if (filename.size() == 0) {
 | 
			
		||||
        ERROR_LOG(LOADER, "invalid filename %s", filename.c_str());
 | 
			
		||||
        return FileType::Error;
 | 
			
		||||
@ -45,7 +45,7 @@ const FileType IdentifyFile(const std::string &filename) {
 | 
			
		||||
 * @param filename String filename of bootable file
 | 
			
		||||
 * @return ResultStatus result of function
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus LoadFile(std::string& filename) {
 | 
			
		||||
ResultStatus LoadFile(const std::string& filename) {
 | 
			
		||||
    INFO_LOG(LOADER, "Loading file %s...", filename.c_str());
 | 
			
		||||
 | 
			
		||||
    switch (IdentifyFile(filename)) {
 | 
			
		||||
 | 
			
		||||
@ -44,7 +44,7 @@ public:
 | 
			
		||||
     * Load the application
 | 
			
		||||
     * @return ResultStatus result of function
 | 
			
		||||
     */
 | 
			
		||||
    virtual const ResultStatus Load() = 0;
 | 
			
		||||
    virtual ResultStatus Load() = 0;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the code (typically .code section) of the application
 | 
			
		||||
@ -109,13 +109,13 @@ protected:
 | 
			
		||||
 * @param filename String filename of bootable file
 | 
			
		||||
 * @return FileType of file
 | 
			
		||||
 */
 | 
			
		||||
const FileType IdentifyFile(const std::string &filename);
 | 
			
		||||
FileType IdentifyFile(const std::string &filename);
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Identifies and loads a bootable file
 | 
			
		||||
 * @param filename String filename of bootable file
 | 
			
		||||
 * @return ResultStatus result of function
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus LoadFile(std::string& filename);
 | 
			
		||||
ResultStatus LoadFile(const std::string& filename);
 | 
			
		||||
 | 
			
		||||
} // namespace
 | 
			
		||||
 | 
			
		||||
@ -102,7 +102,7 @@ bool LZSS_Decompress(u8* compressed, u32 compressed_size, u8* decompressed, u32
 | 
			
		||||
// AppLoader_NCCH class
 | 
			
		||||
 | 
			
		||||
/// AppLoader_NCCH constructor
 | 
			
		||||
AppLoader_NCCH::AppLoader_NCCH(std::string& filename) {
 | 
			
		||||
AppLoader_NCCH::AppLoader_NCCH(const std::string& filename) {
 | 
			
		||||
    this->filename = filename;
 | 
			
		||||
    is_loaded = false;
 | 
			
		||||
    is_compressed = false;
 | 
			
		||||
@ -119,7 +119,7 @@ AppLoader_NCCH::~AppLoader_NCCH() {
 | 
			
		||||
 * Loads .code section into memory for booting
 | 
			
		||||
 * @return ResultStatus result of function
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus AppLoader_NCCH::LoadExec() const {
 | 
			
		||||
ResultStatus AppLoader_NCCH::LoadExec() const {
 | 
			
		||||
    if (!is_loaded) 
 | 
			
		||||
        return ResultStatus::ErrorNotLoaded;
 | 
			
		||||
 | 
			
		||||
@ -137,7 +137,7 @@ const ResultStatus AppLoader_NCCH::LoadExec() const {
 | 
			
		||||
 * @param name Name of section to read out of NCCH file
 | 
			
		||||
 * @param buffer Buffer to read section into.
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus AppLoader_NCCH::LoadSectionExeFS(File::IOFile& file, const char* name, 
 | 
			
		||||
ResultStatus AppLoader_NCCH::LoadSectionExeFS(File::IOFile& file, const char* name, 
 | 
			
		||||
    std::vector<u8>& buffer) {
 | 
			
		||||
 | 
			
		||||
    // Iterate through the ExeFs archive until we find the .code file...
 | 
			
		||||
@ -183,7 +183,7 @@ const ResultStatus AppLoader_NCCH::LoadSectionExeFS(File::IOFile& file, const ch
 | 
			
		||||
 * @param file Handle to file to read from
 | 
			
		||||
 * @return ResultStatus result of function
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus AppLoader_NCCH::LoadRomFS(File::IOFile& file) {
 | 
			
		||||
ResultStatus AppLoader_NCCH::LoadRomFS(File::IOFile& file) {
 | 
			
		||||
    // Check if the NCCH has a RomFS...
 | 
			
		||||
    if (ncch_header.romfs_offset != 0 && ncch_header.romfs_size != 0) {
 | 
			
		||||
        u32 romfs_offset = ncch_offset + (ncch_header.romfs_offset * kBlockSize) + 0x1000;
 | 
			
		||||
@ -210,7 +210,7 @@ const ResultStatus AppLoader_NCCH::LoadRomFS(File::IOFile& file) {
 | 
			
		||||
 * @todo Move NCSD parsing out of here and create a separate function for loading these
 | 
			
		||||
 * @return True on success, otherwise false
 | 
			
		||||
 */
 | 
			
		||||
const ResultStatus AppLoader_NCCH::Load() {
 | 
			
		||||
ResultStatus AppLoader_NCCH::Load() {
 | 
			
		||||
    INFO_LOG(LOADER, "Loading NCCH file %s...", filename.c_str());
 | 
			
		||||
 | 
			
		||||
    if (is_loaded)
 | 
			
		||||
 | 
			
		||||
@ -147,14 +147,14 @@ namespace Loader {
 | 
			
		||||
/// Loads an NCCH file (e.g. from a CCI, or the first NCCH in a CXI)
 | 
			
		||||
class AppLoader_NCCH : public AppLoader {
 | 
			
		||||
public:
 | 
			
		||||
    AppLoader_NCCH(std::string& filename);
 | 
			
		||||
    AppLoader_NCCH(const std::string& filename);
 | 
			
		||||
    ~AppLoader_NCCH();
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Load the application
 | 
			
		||||
     * @return ResultStatus result of function
 | 
			
		||||
     */
 | 
			
		||||
    const ResultStatus Load();
 | 
			
		||||
    ResultStatus Load();
 | 
			
		||||
 | 
			
		||||
private:
 | 
			
		||||
 | 
			
		||||
@ -165,21 +165,20 @@ private:
 | 
			
		||||
     * @param buffer Buffer to read section into.
 | 
			
		||||
     * @return ResultStatus result of function
 | 
			
		||||
     */
 | 
			
		||||
    const ResultStatus LoadSectionExeFS(File::IOFile& file, const char* name, 
 | 
			
		||||
        std::vector<u8>& buffer);
 | 
			
		||||
    ResultStatus LoadSectionExeFS(File::IOFile& file, const char* name, std::vector<u8>& buffer);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Reads RomFS of an NCCH file into AppLoader
 | 
			
		||||
     * @param file Handle to file to read from
 | 
			
		||||
     * @return ResultStatus result of function
 | 
			
		||||
     */
 | 
			
		||||
    const ResultStatus LoadRomFS(File::IOFile& file);
 | 
			
		||||
    ResultStatus LoadRomFS(File::IOFile& file);
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Loads .code section into memory for booting
 | 
			
		||||
     * @return ResultStatus result of function
 | 
			
		||||
     */
 | 
			
		||||
    const ResultStatus LoadExec() const;
 | 
			
		||||
    ResultStatus LoadExec() const;
 | 
			
		||||
 | 
			
		||||
    std::string     filename;
 | 
			
		||||
    bool            is_loaded;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user