High level MQTT-SN C++ library

Dependencies:   EthernetInterface FP MQTTSNPacket

Dependents:   HelloMQTTSN

Committer:
icraggs
Date:
Thu Feb 26 23:51:56 2015 +0000
Revision:
1:3f59a8468e46
Parent:
0:ae83cacd60d2
MQTTSN high level C++ library

Who changed what in which revision?

UserRevisionLine numberNew contents of line
icraggs 0:ae83cacd60d2 1 #if !defined(MQTT_LOGGING_H)
icraggs 0:ae83cacd60d2 2 #define MQTT_LOGGING_H
icraggs 0:ae83cacd60d2 3
icraggs 0:ae83cacd60d2 4 #define STREAM stdout
icraggs 0:ae83cacd60d2 5 #if !defined(DEBUG)
icraggs 0:ae83cacd60d2 6 #define DEBUG(...) \
icraggs 0:ae83cacd60d2 7 {\
icraggs 0:ae83cacd60d2 8 fprintf(STREAM, "DEBUG: %s L#%d ", __PRETTY_FUNCTION__, __LINE__); \
icraggs 0:ae83cacd60d2 9 fprintf(STREAM, ##__VA_ARGS__); \
icraggs 0:ae83cacd60d2 10 fflush(STREAM); \
icraggs 0:ae83cacd60d2 11 }
icraggs 0:ae83cacd60d2 12 #endif
icraggs 0:ae83cacd60d2 13 #if !defined(LOG)
icraggs 0:ae83cacd60d2 14 #define LOG(...) \
icraggs 0:ae83cacd60d2 15 {\
icraggs 0:ae83cacd60d2 16 fprintf(STREAM, "LOG: %s L#%d ", __PRETTY_FUNCTION__, __LINE__); \
icraggs 0:ae83cacd60d2 17 fprintf(STREAM, ##__VA_ARGS__); \
icraggs 0:ae83cacd60d2 18 fflush(STREAM); \
icraggs 0:ae83cacd60d2 19 }
icraggs 0:ae83cacd60d2 20 #endif
icraggs 0:ae83cacd60d2 21 #if !defined(WARN)
icraggs 0:ae83cacd60d2 22 #define WARN(...) \
icraggs 0:ae83cacd60d2 23 { \
icraggs 0:ae83cacd60d2 24 fprintf(STREAM, "WARN: %s L#%d ", __PRETTY_FUNCTION__, __LINE__); \
icraggs 0:ae83cacd60d2 25 fprintf(STREAM, ##__VA_ARGS__); \
icraggs 0:ae83cacd60d2 26 fflush(STREAM); \
icraggs 0:ae83cacd60d2 27 }
icraggs 0:ae83cacd60d2 28 #endif
icraggs 0:ae83cacd60d2 29 #if !defined(ERROR)
icraggs 0:ae83cacd60d2 30 #define ERROR(...) \
icraggs 0:ae83cacd60d2 31 { \
icraggs 0:ae83cacd60d2 32 fprintf(STREAM, "ERROR: %s L#%d ", __PRETTY_FUNCTION__, __LINE__); \
icraggs 0:ae83cacd60d2 33 fprintf(STREAM, ##__VA_ARGS__); \
icraggs 0:ae83cacd60d2 34 fflush(STREAM); \
icraggs 0:ae83cacd60d2 35 exit(1); \
icraggs 0:ae83cacd60d2 36 }
icraggs 0:ae83cacd60d2 37 #endif
icraggs 0:ae83cacd60d2 38
icraggs 0:ae83cacd60d2 39 #endif