summaryrefslogtreecommitdiff
path: root/libs/libjson/src/JSONDebug.h
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2015-06-16 08:07:27 +0000
committerGeorge Hazan <george.hazan@gmail.com>2015-06-16 08:07:27 +0000
commit0757c5684dc44f76308199954eca7ced4e9189b3 (patch)
tree237432394d4c057b217b083248572feadc9d336a /libs/libjson/src/JSONDebug.h
parentb4683d6856632c4fac0ad54b0b1e692661a41bca (diff)
libson separated from mir_core and moved to libs\
git-svn-id: http://svn.miranda-ng.org/main/trunk@14187 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'libs/libjson/src/JSONDebug.h')
-rw-r--r--libs/libjson/src/JSONDebug.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/libs/libjson/src/JSONDebug.h b/libs/libjson/src/JSONDebug.h
new file mode 100644
index 0000000000..ff1cedf8fc
--- /dev/null
+++ b/libs/libjson/src/JSONDebug.h
@@ -0,0 +1,68 @@
+#ifndef JSON_DEBUG_H
+#define JSON_DEBUG_H
+
+#include "JSONDefs.h"
+#include "JSONOptions.h"
+
+#ifdef JSON_UNIT_TEST
+ #define JSON_PRIVATE
+#else
+ #define JSON_PRIVATE private:
+#endif
+
+#ifdef JSON_DEBUG
+ #ifdef JSON_SAFE
+ #define JSON_ASSERT_SAFE(condition, msg, code)\
+ {\
+ if (!(condition)) {\
+ JSON_FAIL(msg);\
+ code\
+ }\
+ }
+ #define JSON_FAIL_SAFE(msg, code)\
+ {\
+ JSON_FAIL(msg);\
+ code\
+ }
+ #else
+ #define JSON_ASSERT_SAFE(condition, msg, code) JSON_ASSERT(condition, msg)
+ #define JSON_FAIL_SAFE(msg, code) JSON_FAIL(msg)
+ #endif
+
+ #define JSON_FAIL JSONDebug::_JSON_FAIL
+ #define JSON_ASSERT JSONDebug::_JSON_ASSERT
+
+ class JSONDebug {
+ public:
+ #ifndef JSON_STDERROR
+ static void register_callback(json_error_callback_t callback);
+ #endif
+ static void _JSON_FAIL(const json_string & msg);
+ static void _JSON_ASSERT(bool condition, const json_string & msg);
+ };
+#else
+ #ifdef JSON_SAFE
+ #define JSON_ASSERT_SAFE(condition, msg, code)\
+ {\
+ if (!(condition)) {\
+ code\
+ }\
+ }
+ #define JSON_FAIL_SAFE(msg, code)\
+ {\
+ code\
+ }
+ #else
+ #define JSON_ASSERT_SAFE(condition, msg, code)
+ #define JSON_FAIL_SAFE(msg, code)
+ #endif
+
+ #define JSON_ASSERT(condition, msg)
+ #define JSON_FAIL(msg)
+#endif
+
+static const json_string EMPTY_STRING;
+static const std::string EMPTY_STRING2;
+
+#endif
+