diff options
author | bunnei <bunneidev@gmail.com> | 2014-07-04 21:58:08 -0400 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2014-07-04 21:58:08 -0400 |
commit | ad1adb2f9270cc48bfbfd8b12ad1dac162c48e39 (patch) | |
tree | 6bb6ab148504beaacdfa02ed1dd069e3a5f61427 /src/core/loader/loader.h | |
parent | 469fe42fad01fc45e454e6acfa413eeae92e587e (diff) | |
parent | b70c4fb48ec32057e56d9c0373794670bddd4f34 (diff) |
Merge pull request #26 from bunnei/romfs-archive
Adds preliminary RomFS archive support
Diffstat (limited to 'src/core/loader/loader.h')
-rw-r--r-- | src/core/loader/loader.h | 55 |
1 files changed, 22 insertions, 33 deletions
diff --git a/src/core/loader/loader.h b/src/core/loader/loader.h index 95f16fcb1..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 @@ -48,60 +49,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<u8>& ReadCode(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return code; + virtual ResultStatus ReadCode(std::vector<u8>& buffer) const { + 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<u8>& ReadIcon(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return icon; + virtual ResultStatus ReadIcon(std::vector<u8>& buffer) const { + 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<u8>& ReadBanner(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return banner; + virtual ResultStatus ReadBanner(std::vector<u8>& buffer) const { + 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<u8>& ReadLogo(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return logo; + virtual ResultStatus ReadLogo(std::vector<u8>& buffer) const { + 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<u8>& ReadRomFS(ResultStatus& error) const { - error = ResultStatus::ErrorNotImplemented; - return romfs; + virtual ResultStatus ReadRomFS(std::vector<u8>& buffer) const { + return ResultStatus::ErrorNotImplemented; } - -protected: - std::vector<u8> code; ///< ExeFS .code section - std::vector<u8> icon; ///< ExeFS .icon section - std::vector<u8> banner; ///< ExeFS .banner section - std::vector<u8> logo; ///< ExeFS .logo section - std::vector<u8> romfs; ///< RomFs archive }; /** |