diff options
author | iain <iain@linux.intel.com> | 2011-08-25 15:59:22 +0100 |
---|---|---|
committer | iain <iain@linux.intel.com> | 2011-08-25 15:59:22 +0100 |
commit | 513672a0b880e666e4317e4db997175f9a7bde01 (patch) | |
tree | e5e35448fc1e76f66f61170aa59d257bf939c106 | |
parent | 6712b13ab09bdd08a79d0adefc4bb61cf64abdd8 (diff) |
Create a debugging system for Gypsy Daemon
-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__ */ |