diff options
-rw-r--r-- | src/Makefile.am | 1 | ||||
-rw-r--r-- | src/gypsy-debug.h | 39 |
2 files changed, 40 insertions, 0 deletions
diff --git a/src/Makefile.am b/src/Makefile.am index cc37403..98aab14 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -15,6 +15,7 @@ gypsy_daemon_LDADD = \ NOINST_H_FILES = \ gypsy-client.h \ + gypsy-debug.h \ gypsy-garmin-parser.h \ gypsy-marshal-internal.h \ gypsy-nmea-parser.h \ diff --git a/src/gypsy-debug.h b/src/gypsy-debug.h new file mode 100644 index 0000000..1c2cf53 --- /dev/null +++ b/src/gypsy-debug.h @@ -0,0 +1,39 @@ +#ifndef __GYPSY_DEBUG_H__ +#define __GYPSY_DEBUG_H__ + +#include <glib.h> + +G_BEGIN_DECLS + +typedef enum { + GYPSY_DEBUG_NMEA = 1 << 0, +} GypsyDebugFlags; + +#define GYPSY_HAS_DEBUG(type) ((gypsy_debug_flags & GYPSY_DEBUG_##type) != FALSE) + +extern guint gypsy_debug_flags; + +#ifdef __GNUC__ + +#define GYPSY_NOTE(type,x,a...) G_STMT_START { \ + if (G_UNLIKELY (CLUTTER_HAS_DEBUG (type))) \ + { _gypsy_message ("[" #type "] " G_STRLOC ": " x, ##a); } \ + } G_STMT_END + +#else /* !__GNUC__ */ + +#define GYPSY_NOTE(type,...) G_STMT_START { \ + if (G_UNLIKELY (CLUTTER_HAS_DEBUG (type))) { \ + char *_fmt = g_strdup_printf (__VA_ARGS__); \ + _gypsy_message ("[" #type "] " G_STRLOC ": %s", _fmt); \ + g_free (_fmt); \ + } \ + } G_STMT_END + +#endif + +void _gypsy_message (const char *format, ...); + +G_END_DECLS + +#endif /* __GYPSY_DEBUG_H__ */ |