diff options
| author | Mickael Savinaud <savmickael@users.noreply.github.com> | 2011-09-21 16:37:45 +0000 |
|---|---|---|
| committer | Mickael Savinaud <savmickael@users.noreply.github.com> | 2011-09-21 16:37:45 +0000 |
| commit | 5d0b813cecee07f2bf69e94e826385b38b5dfb4c (patch) | |
| tree | 4d71e0d1902a93f4e8636326ab57e54164a02d22 /libopenjpeg/event.c | |
| parent | ba0c271774f56259874dffbe15f44313f9d6e954 (diff) | |
[trunk] WIP: clean the j2k_dump application and the lib regards to the event management
Diffstat (limited to 'libopenjpeg/event.c')
| -rw-r--r-- | libopenjpeg/event.c | 63 |
1 files changed, 62 insertions, 1 deletions
diff --git a/libopenjpeg/event.c b/libopenjpeg/event.c index 77cec893..6346e39d 100644 --- a/libopenjpeg/event.c +++ b/libopenjpeg/event.c @@ -60,8 +60,8 @@ _itoa(int i, char *a, int r) { #endif /* !_WIN32 */ #endif -/* ----------------------------------------------------------------------- */ +/* ----------------------------------------------------------------------- */ opj_event_mgr_t* OPJ_CALLCONV opj_set_event_mgr(opj_common_ptr cinfo, opj_event_mgr_t *event_mgr, void *context) { if(cinfo) { opj_event_mgr_t *previous = cinfo->event_mgr; @@ -73,6 +73,7 @@ opj_event_mgr_t* OPJ_CALLCONV opj_set_event_mgr(opj_common_ptr cinfo, opj_event_ return NULL; } +/* ----------------------------------------------------------------------- */ opj_bool opj_event_msg(opj_common_ptr cinfo, int event_type, const char *fmt, ...) { #define MSG_SIZE 512 /* 512 bytes should be more than enough for a short message */ opj_msg_callback msg_handler = NULL; @@ -120,6 +121,7 @@ opj_bool opj_event_msg(opj_common_ptr cinfo, int event_type, const char *fmt, .. return OPJ_TRUE; } +/* ----------------------------------------------------------------------- */ opj_bool opj_event_msg_v2(opj_event_mgr_t* event_mgr, int event_type, const char *fmt, ...) { #define MSG_SIZE 512 /* 512 bytes should be more than enough for a short message */ opj_msg_callback msg_handler = NULL; @@ -165,3 +167,62 @@ opj_bool opj_event_msg_v2(opj_event_mgr_t* event_mgr, int event_type, const char return OPJ_TRUE; } + +/* ----------------------------------------------------------------------- */ +void opj_set_default_event_handler(opj_event_mgr_t * p_manager, opj_bool verbose) +{ + p_manager->client_data = NULL; + p_manager->error_handler = opj_error_default_callback; + + if (verbose) { + p_manager->info_handler = opj_info_default_callback; + p_manager->warning_handler = opj_warning_default_callback; + } + else { + /* FIXME (MSD) This message should be remove when the documentation will be updated */ + fprintf(stdout, "[INFO] Verbose mode = OFF => no other info/warning output.\n"); + p_manager->info_handler = opj_default_callback ; + p_manager->warning_handler = opj_default_callback ; + } +} + +/* ---------------------------------------------------------------------- */ +/* Default callback functions */ + +/** + * Default callback function. + * Do nothing. + */ +void opj_default_callback (const char *msg, void *client_data) +{ +} + +/** + * Default info callback function. + * Output = stdout. + */ +void opj_info_default_callback (const char *msg, void *client_data) +{ + (void)client_data; + fprintf(stdout, "[INFO] %s", msg); +} + +/** + * Default warning callback function. + * Output = stderr. + */ +void opj_warning_default_callback (const char *msg, void *client_data) +{ + (void)client_data; + fprintf(stderr, "[WARNING] %s", msg); +} + +/** + * Default error callback function. + * Output = stderr. + */ +void opj_error_default_callback (const char *msg, void *client_data) +{ + (void)client_data; + fprintf(stderr, "[ERROR] %s", msg); +} |
