view logging.h @ 199:111610d871af

Show error state in main user inteface panel
author Daniele Nicolodi <daniele.nicolodi@obspm.fr>
date Mon, 31 Mar 2014 17:03:37 +0200
parents 97112b45b838
children ec81395bf08d
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;

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

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