Extend return codes for chinachip_patch().

Instead of passing error messages using a callback function (which becomes
awkward when used from a C++ class object) return distinct error codes from
chinachip_patch(). This also removes the kludge to support translations for
Rockbox Utility and moves the strings to translate to the installation class
where they belong.

As a side effect info messages won't be passed to Rockbox Utility anymore, but
the details of the patching progress aren't of that much interest for the user
anyway.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31115 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Dominik Riebeling 2011-12-03 09:41:44 +00:00
parent 07da9ce5ea
commit 059cb71c96
5 changed files with 110 additions and 103 deletions

View file

@ -26,11 +26,24 @@
extern "C" {
#endif
int chinachip_patch(const char* firmware, const char* bootloader,
const char* output, const char* ccpmp_backup,
void (*info)(void*, char*, ...),
void (*err)(void*, char*, ...),
void* userdata);
enum cc_error {
E_OK,
E_OPEN_FIRMWARE,
E_OPEN_BOOTLOADER,
E_MEMALLOC,
E_LOAD_FIRMWARE,
E_INVALID_FILE,
E_NO_CCPMP,
E_OPEN_BACKUP,
E_WRITE_BACKUP,
E_LOAD_BOOTLOADER,
E_GET_TIME,
E_OPEN_OUTFILE,
E_WRITE_OUTFILE,
};
enum cc_error chinachip_patch(const char* firmware, const char* bootloader,
const char* output, const char* ccpmp_backup);
#ifdef __cplusplus
}