Add cls pointer to the logger
[deb_shairplay.git] / src / lib / logger.h
index 52c15e4815428ede40a505b3d1fd6e81c9400f15..9a81358d95908e2de127d7b89e917d24dbfec753 100644 (file)
 #define LOGGER_INFO        6       /* informational */
 #define LOGGER_DEBUG       7       /* debug-level messages */
 
-typedef void (*logger_callback_t)(int level, char *msg);
+typedef void (*logger_callback_t)(void *cls, int level, const char *msg);
 
-struct logger_s {
-       int level;
-       logger_callback_t callback;
-};
 typedef struct logger_s logger_t;
 
-void logger_init(logger_t *logger);
+logger_t *logger_init();
+void logger_destroy(logger_t *logger);
+
 void logger_set_level(logger_t *logger, int level);
-void logger_set_callback(logger_t *logger, logger_callback_t callback);
+void logger_set_callback(logger_t *logger, logger_callback_t callback, void *cls);
 
 void logger_log(logger_t *logger, int level, const char *fmt, ...);