view logging.h @ 266:dfbee05fe464

Fix beatnote sign measurement Breakage was caused by the change of the LO, HG, SR, enum values to use them as array indexes assigning to LO value 0 and thus flase in boolean context.
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Thu, 09 Jul 2015 23:05:43 +0200
parents d948e3ced2b9
children
line wrap: on
line source

#ifndef __LOGGING_H__
#define __LOGGING_H__

/* required for the user interface defines */
#include "FXAnalyse.h"
#include "utils.h"

struct logger *__logger;

/* an ERROR macro is defined in `WinGDI.h` which is included
 * by some other header file included before this. to be on
 * the safe side we define the enum lable to the same value */
#undef ERROR

enum loglevel {
	ERROR = 0,
	WARNING,
	INFO,
	DEBUG,
};

struct logger * __logger_init(void(*onerror)(int, const char *));
void __logmessage(struct logger *l, enum loglevel level, const char *frmt, ...);
void __logger_panel_visible(struct logger *l, int visible);

#define logger_init(onerror) do { __logger = __logger_init(onerror); } while (0)
#define logmessage(level, msg, ...) __logmessage(__logger, (level), (msg), ##__VA_ARGS__)
#define logmsg(msg, ...) __logmessage(__logger, INFO, msg, ##__VA_ARGS__)
#define logger_panel_visible(visible)  __logger_panel_visible(__logger, visible)

#endif