Mercurial > hg > fxanalyse
view logging.h @ 244:4db8746bd575
Add NaN and isnan() compatibility macros to future.h
author | Daniele Nicolodi <daniele@grinta.net> |
---|---|
date | Thu, 26 Feb 2015 23:10:06 +0100 |
parents | ec81395bf08d |
children | 307fd62f376d |
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 { unsigned int panel; int fd; void(*onerror)(int, const char *); } __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, DEBUG, INFO, WARNING, }; int __logger_init(struct logger *l, void(*onerror)(int, const char *)); void __logmessage(struct logger *l, enum loglevel level, const char *frmt, ...); #define logger_init(onerror) __logger_init(&__logger, onerror) #define logmessage(level, msg, ...) __logmessage(&__logger, (level), (msg), ##__VA_ARGS__) #define logmsg(msg, ...) __logmessage(&__logger, INFO, msg, ##__VA_ARGS__) #define logger_panel_visible(visible) SetPanelAttribute(__logger.panel, ATTR_VISIBLE, visible) #endif