2 * Copyright (c) 2005, Herv� Drolon, FreeImage Team
3 * Copyright (c) 2008, Jerome Fimes, Communications & Systemes <jerome.fimes@c-s.fr>
6 * Redistribution and use in source and binary forms, with or without
7 * modification, are permitted provided that the following conditions
9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer.
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in the
13 * documentation and/or other materials provided with the distribution.
15 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS `AS IS'
16 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
17 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
18 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
19 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
20 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
21 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
22 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
23 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
24 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
25 * POSSIBILITY OF SUCH DAMAGE.
34 @brief Implementation of a event callback system
36 The functions in EVENT.C have for goal to send output messages (errors, warnings, debug) to the user.
39 Message handler object
44 <li>Debugging messages
47 typedef struct opj_event_mgr
49 /** Data to call the event manager upon */
51 /** Data to call the event manager upon */
52 void * m_warning_data;
53 /** Data to call the event manager upon */
55 /** Error message callback if available, NULL otherwise */
56 opj_msg_callback error_handler;
57 /** Warning message callback if available, NULL otherwise */
58 opj_msg_callback warning_handler;
59 /** Debug message callback if available, NULL otherwise */
60 opj_msg_callback info_handler;
63 #define EVT_ERROR 1 /**< Error event type */
64 #define EVT_WARNING 2 /**< Warning event type */
65 #define EVT_INFO 4 /**< Debug event type */
67 /** @defgroup EVENT EVENT - Implementation of a event callback system */
70 /** @name Exported functions (see also openjpeg.h) */
72 /* ----------------------------------------------------------------------- */
74 * Writes formatted data to a string and send the string to a user callback.
75 * @param p_event_mgr the event manager to display messages.
76 * @param event_type Event type of the message
77 * @param fmt Format-control string (plus optionnal arguments)
78 * @return Returns true if successful, returns false otherwise
80 bool opj_event_msg(struct opj_event_mgr * p_event_mgr, OPJ_INT32 event_type, const OPJ_CHAR *fmt, ...);
81 /* ----------------------------------------------------------------------- */
86 #endif /* __EVENT_H */