From d8da707bb90c233d5e815a508bea3473e6e50afa Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 27 Jun 2014 15:33:23 -0400 Subject: Loader: Refactored interface such that data is no longer stored by loader. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit NCCH: Removed extra qualification ‘Loader::AppLoader_NCCH::’. --- src/core/loader/loader.h | 54 +++++++++++++++++++----------------------------- 1 file changed, 21 insertions(+), 33 deletions(-) (limited to 'src/core/loader/loader.h') diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index 95f16fcb1..7891c1ed7 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h @@ -48,60 +48,48 @@ public: /** * Get the code (typically .code section) of the application - * @param error ResultStatus result of function - * @return Reference to code buffer + * @param buffer Reference to buffer to store data + * @return ResultStatus result of function */ - virtual const std::vector& ReadCode(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return code; + virtual ResultStatus ReadCode(std::vector& buffer) { + return ResultStatus::ErrorNotImplemented; } /** * Get the icon (typically icon section) of the application - * @param error ResultStatus result of function - * @return Reference to icon buffer + * @param buffer Reference to buffer to store data + * @return ResultStatus result of function */ - virtual const std::vector& ReadIcon(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return icon; + virtual ResultStatus ReadIcon(std::vector& buffer) { + return ResultStatus::ErrorNotImplemented; } /** * Get the banner (typically banner section) of the application - * @param error ResultStatus result of function - * @return Reference to banner buffer + * @param buffer Reference to buffer to store data + * @return ResultStatus result of function */ - virtual const std::vector& ReadBanner(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return banner; + virtual ResultStatus ReadBanner(std::vector& buffer) { + return ResultStatus::ErrorNotImplemented; } /** * Get the logo (typically logo section) of the application - * @param error ResultStatus result of function - * @return Reference to logo buffer + * @param buffer Reference to buffer to store data + * @return ResultStatus result of function */ - virtual const std::vector& ReadLogo(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return logo; + virtual ResultStatus ReadLogo(std::vector& buffer) { + return ResultStatus::ErrorNotImplemented; } /** - * Get the RomFs archive of the application - * @param error ResultStatus result of function - * @return Reference to RomFs archive buffer + * Get the RomFS of the application + * @param buffer Reference to buffer to store data + * @return ResultStatus result of function */ - virtual const std::vector& ReadRomFS(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return romfs; + virtual ResultStatus ReadRomFS(std::vector& buffer) { + return ResultStatus::ErrorNotImplemented; } - -protected: - std::vector code; ///< ExeFS .code section - std::vector icon; ///< ExeFS .icon section - std::vector banner; ///< ExeFS .banner section - std::vector logo; ///< ExeFS .logo section - std::vector romfs; ///< RomFs archive }; /** -- cgit v1.2.3 From 2c62d9255160b7302942d536c9c990b86c7fb907 Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 4 Jul 2014 13:11:09 -0400 Subject: Loader: Updated read methods to be const - Required "file" handle to be made local and explicitly opened/closed as needed --- src/core/loader/loader.h | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'src/core/loader/loader.h') diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index 7891c1ed7..c27b5b4b6 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h @@ -51,7 +51,7 @@ public: * @param buffer Reference to buffer to store data * @return ResultStatus result of function */ - virtual ResultStatus ReadCode(std::vector& buffer) { + virtual ResultStatus ReadCode(std::vector& buffer) const { return ResultStatus::ErrorNotImplemented; } @@ -60,7 +60,7 @@ public: * @param buffer Reference to buffer to store data * @return ResultStatus result of function */ - virtual ResultStatus ReadIcon(std::vector& buffer) { + virtual ResultStatus ReadIcon(std::vector& buffer) const { return ResultStatus::ErrorNotImplemented; } @@ -69,7 +69,7 @@ public: * @param buffer Reference to buffer to store data * @return ResultStatus result of function */ - virtual ResultStatus ReadBanner(std::vector& buffer) { + virtual ResultStatus ReadBanner(std::vector& buffer) const { return ResultStatus::ErrorNotImplemented; } @@ -78,7 +78,7 @@ public: * @param buffer Reference to buffer to store data * @return ResultStatus result of function */ - virtual ResultStatus ReadLogo(std::vector& buffer) { + virtual ResultStatus ReadLogo(std::vector& buffer) const { return ResultStatus::ErrorNotImplemented; } @@ -87,7 +87,7 @@ public: * @param buffer Reference to buffer to store data * @return ResultStatus result of function */ - virtual ResultStatus ReadRomFS(std::vector& buffer) { + virtual ResultStatus ReadRomFS(std::vector& buffer) const { return ResultStatus::ErrorNotImplemented; } }; -- cgit v1.2.3 From b70c4fb48ec32057e56d9c0373794670bddd4f34 Mon Sep 17 00:00:00 2001 From: bunnei Date: Fri, 4 Jul 2014 20:32:06 -0400 Subject: NCCH: Updated ExeFS memory allocation to be safer. --- src/core/loader/loader.h | 1 + 1 file changed, 1 insertion(+) (limited to 'src/core/loader/loader.h') diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index c27b5b4b6..4ba10de52 100644 --- a/src/core/loader/loader.h +++ b/src/core/loader/loader.h @@ -32,6 +32,7 @@ enum class ResultStatus { ErrorNotLoaded, ErrorNotUsed, ErrorAlreadyLoaded, + ErrorMemoryAllocationFailed, }; /// Interface for loading an application -- cgit v1.2.3