From fae17e42b5d32ff133426893ca115310d499ab64 Mon Sep 17 00:00:00 2001 From: George Hazan Date: Mon, 25 May 2015 17:40:14 +0000 Subject: JSONNode class exported directly from mir_core, all its functions became available old json_* functions work as well git-svn-id: http://svn.miranda-ng.org/main/trunk@13831 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- src/mir_core/mir_core_12.vcxproj | 3 + src/mir_core/mir_core_12.vcxproj.filters | 3 + src/mir_core/src/json/JSONNode.cpp | 24 ++--- src/mir_core/src/json/JSONNode.h | 48 +++++----- src/mir_core/src/json/JSONOptions.h | 6 +- src/mir_core/src/json/JSONWorker.h | 3 +- src/mir_core/src/json/libJSON.cpp | 25 +++--- src/mir_core/src/mir_core.def | 146 +++++++++++++++++++++++++++++++ src/mir_core/src/mir_core64.def | 146 +++++++++++++++++++++++++++++++ 9 files changed, 354 insertions(+), 50 deletions(-) (limited to 'src') diff --git a/src/mir_core/mir_core_12.vcxproj b/src/mir_core/mir_core_12.vcxproj index 6be5f7e179..3e54d32166 100644 --- a/src/mir_core/mir_core_12.vcxproj +++ b/src/mir_core/mir_core_12.vcxproj @@ -52,6 +52,9 @@ ../commonheaders.h + + ../commonheaders.h + ../commonheaders.h diff --git a/src/mir_core/mir_core_12.vcxproj.filters b/src/mir_core/mir_core_12.vcxproj.filters index ad3bf82317..8719b38e69 100644 --- a/src/mir_core/mir_core_12.vcxproj.filters +++ b/src/mir_core/mir_core_12.vcxproj.filters @@ -109,6 +109,9 @@ Source Files + + Source Files\json + diff --git a/src/mir_core/src/json/JSONNode.cpp b/src/mir_core/src/json/JSONNode.cpp index 66099e7d43..8ea32563c1 100644 --- a/src/mir_core/src/json/JSONNode.cpp +++ b/src/mir_core/src/json/JSONNode.cpp @@ -41,6 +41,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. void JSONNode::decinternalAllocCount(void){ ++internalDeallocCount; } #endif +JSONNode nullNode(JSON_NULL); + #define IMPLEMENT_CTOR(type)\ JSONNode::JSONNode(const json_string & name_t, type value_t) : internal(internalJSONNode::newInternal()) {\ internal -> Set(value_t);\ @@ -181,7 +183,7 @@ JSONNode & JSONNode::at(json_index_t pos){ JSON_CHECK_INTERNAL(); if (pos >= internal -> size()) { JSON_FAIL(JSON_TEXT("at() out of bounds")); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } return (*this)[pos]; } @@ -190,7 +192,7 @@ const JSONNode & JSONNode::at(json_index_t pos) const { JSON_CHECK_INTERNAL(); if (pos >= internal -> size()) { JSON_FAIL(JSON_TEXT("at() const out of bounds")); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } return (*this)[pos]; } @@ -208,7 +210,7 @@ const JSONNode & JSONNode::operator[](json_index_t pos) const { return *(internal -> at(pos)); } -JSONNode & JSONNode::at(const json_string & name_t){ +JSONNode & JSONNode::at(const json_char *name_t){ JSON_CHECK_INTERNAL(); JSON_ASSERT(type() == JSON_NODE, JSON_TEXT("at a non-iteratable node")); makeUniqueInternal(); @@ -216,17 +218,17 @@ JSONNode & JSONNode::at(const json_string & name_t){ return *(*res); } JSON_FAIL(json_string(JSON_TEXT("at could not find child by name: ")) + name_t); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } -const JSONNode & JSONNode::at(const json_string & name_t) const { +const JSONNode & JSONNode::at(const json_char *name_t) const { JSON_CHECK_INTERNAL(); JSON_ASSERT(type() == JSON_NODE, JSON_TEXT("at a non-iteratable node")); if (JSONNode ** res = internal -> at(name_t)) { return *(*res); } JSON_FAIL(json_string(JSON_TEXT("at const could not find child by name: ")) + name_t); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS @@ -238,7 +240,7 @@ const JSONNode & JSONNode::at(const json_string & name_t) const { return *(*res); } JSON_FAIL(json_string(JSON_TEXT("at_nocase could not find child by name: ")) + name_t); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } const JSONNode & JSONNode::at_nocase(const json_string & name_t) const { @@ -248,7 +250,7 @@ const JSONNode & JSONNode::at(const json_string & name_t) const { return *(*res); } JSON_FAIL(json_string(JSON_TEXT("at_nocase const could not find child by name: ")) + name_t); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } #endif @@ -268,7 +270,7 @@ JSONNode JSON_PTR_LIB JSONNode::pop_back(json_index_t pos){ JSON_CHECK_INTERNAL(); if (pos >= internal -> size()) { JSON_FAIL(JSON_TEXT("pop_back out of bounds")); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; } makeUniqueInternal(); #ifdef JSON_LIBRARY @@ -290,7 +292,7 @@ JSONNode JSON_PTR_LIB JSONNode::pop_back(const json_string & name_t){ return *(temp.mynode); } JSON_FAIL(json_string(JSON_TEXT("pop_back const could not find child by name: ")) + name_t); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; #endif } @@ -306,7 +308,7 @@ JSONNode JSON_PTR_LIB JSONNode::pop_back(const json_string & name_t){ return *(temp.mynode); } JSON_FAIL(json_string(JSON_TEXT("pop_back_nocase could not find child by name: ")) + name_t); - throw std::out_of_range(EMPTY_STRING2); + return nullNode; #endif } #endif diff --git a/src/mir_core/src/json/JSONNode.h b/src/mir_core/src/json/JSONNode.h index dfb6ff01f3..8e415adfe3 100644 --- a/src/mir_core/src/json/JSONNode.h +++ b/src/mir_core/src/json/JSONNode.h @@ -79,7 +79,8 @@ for argument checking and throwing exceptions if needed. */ -class JSONNode { +class MIR_CORE_EXPORT JSONNode +{ public: explicit JSONNode(char mytype = JSON_NODE); #define DECLARE_CTOR(type) JSONNode(const json_string & name_t, type value_t) @@ -88,6 +89,8 @@ public: JSONNode(const JSONNode & orig); ~JSONNode(void); + static JSONNode parse(const json_char *str); + json_index_t size(void) const; bool empty(void) const; void clear(void); @@ -126,14 +129,14 @@ public: JSONNode & operator[](json_index_t pos); const JSONNode & operator[](json_index_t pos) const; - JSONNode & at(const json_string & name_t); - const JSONNode & at(const json_string & name_t) const; + JSONNode & at(const json_char *name_t); + const JSONNode & at(const json_char *name_t) const; #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS JSONNode & at_nocase(const json_string & name_t); const JSONNode & at_nocase(const json_string & name_t) const; #endif - JSONNode & operator[](const json_string & name_t); - const JSONNode & operator[](const json_string & name_t) const; + JSONNode & operator[](const json_char *name_t); + const JSONNode & operator[](const json_char *name_t) const; #ifdef JSON_LIBRARY void push_back(JSONNode *node); #else @@ -208,8 +211,8 @@ public: struct const_iterator { inline const_iterator& operator ++(void){ ++it; return *this; } inline const_iterator& operator --(void){ --it; return *this; } - inline const_iterator& operator +=(long i){ it += i; return *this; } - inline const_iterator& operator -=(long i){ it -= i; return *this; } + inline const_iterator& operator +=(size_t i) { it += i; return *this; } + inline const_iterator& operator -=(size_t i) { it -= i; return *this; } inline const_iterator operator ++(int){ const_iterator result(*this); ++it; @@ -220,12 +223,12 @@ public: --it; return result; } - inline const_iterator operator +(long i) const { + inline const_iterator operator +(size_t i) const { const_iterator result(*this); result.it += i; return result; } - inline const_iterator operator -(long i) const { + inline const_iterator operator -(size_t i) const { const_iterator result(*this); result.it -= i; return result; @@ -251,8 +254,8 @@ public: struct reverse_iterator { inline reverse_iterator& operator ++(void){ --it; return *this; } inline reverse_iterator& operator --(void){ ++it; return *this; } - inline reverse_iterator& operator +=(long i){ it -= i; return *this; } - inline reverse_iterator& operator -=(long i){ it += i; return *this; } + inline reverse_iterator& operator +=(size_t i){ it -= i; return *this; } + inline reverse_iterator& operator -=(size_t i) { it += i; return *this; } inline reverse_iterator operator ++(int){ reverse_iterator result(*this); --it; @@ -263,12 +266,12 @@ public: ++it; return result; } - inline reverse_iterator operator +(long i) const { + inline reverse_iterator operator +(size_t i) const { reverse_iterator result(*this); result.it -= i; return result; } - inline reverse_iterator operator -(long i) const { + inline reverse_iterator operator -(size_t i) const { reverse_iterator result(*this); result.it += i; return result; @@ -294,8 +297,8 @@ public: struct reverse_const_iterator { inline reverse_const_iterator& operator ++(void){ --it; return *this; } inline reverse_const_iterator& operator --(void){ ++it; return *this; } - inline reverse_const_iterator& operator +=(long i){ it -= i; return *this; } - inline reverse_const_iterator& operator -=(long i){ it += i; return *this; } + inline reverse_const_iterator& operator +=(size_t i){ it -= i; return *this; } + inline reverse_const_iterator& operator -=(size_t i){ it += i; return *this; } inline reverse_const_iterator operator ++(int){ reverse_const_iterator result(*this); --it; @@ -306,12 +309,12 @@ public: ++it; return result; } - inline reverse_const_iterator operator +(long i) const { + inline reverse_const_iterator operator +(size_t i) const { reverse_const_iterator result(*this); result.it -= i; return result; } - inline reverse_const_iterator operator -(long i) const { + inline reverse_const_iterator operator -(size_t i) const { reverse_const_iterator result(*this); result.it += i; return result; @@ -552,14 +555,11 @@ inline bool JSONNode::as_bool(void) const { return JSONBase64::json_decode64(as_string()); } #endif -inline JSONNode & JSONNode::operator[](const json_string & name_t){ - JSON_CHECK_INTERNAL(); - makeUniqueInternal(); - return *(*(internal -> at(name_t))); +inline JSONNode & JSONNode::operator[](const json_char *name_t) { + return at(name_t); } -inline const JSONNode & JSONNode::operator[](const json_string & name_t) const { - JSON_CHECK_INTERNAL(); - return *(*(internal -> at(name_t))); +inline const JSONNode & JSONNode::operator[](const json_char *name_t) const { + return at(name_t); } #ifdef JSON_LIBRARY inline void JSONNode::push_back(JSONNode * child){ diff --git a/src/mir_core/src/json/JSONOptions.h b/src/mir_core/src/json/JSONOptions.h index d4bd343677..453d37c4e2 100644 --- a/src/mir_core/src/json/JSONOptions.h +++ b/src/mir_core/src/json/JSONOptions.h @@ -10,7 +10,7 @@ * JSON_LIBRARY must be declared if libjson is compiled as a static or dynamic * library. This exposes a C-style interface, but none of the inner workings of libjson */ -#define JSON_LIBRARY +//#define JSON_LIBRARY /* * JSON_DEBUG is used to perform extra error checking. Because libjson usually @@ -81,7 +81,7 @@ * pool. With this option turned on, the default behavior is still done internally unless * a callback is registered. So you can have this option on and mot use it. */ -#define JSON_MEMORY_CALLBACKS +//#define JSON_MEMORY_CALLBACKS /* * JSON_MEMORY_MANAGE is used to create functionality to automatically track and clean @@ -117,7 +117,7 @@ * JSON_ITERATORS turns on all of libjson's iterating functionality. This would usually * only be turned off while compiling for use with C */ -//#define JSON_ITERATORS +#define JSON_ITERATORS /* * JSON_WRITER turns on libjson's writing capabilties. Without this libjson can only diff --git a/src/mir_core/src/json/JSONWorker.h b/src/mir_core/src/json/JSONWorker.h index f425e12e86..4811e904b3 100644 --- a/src/mir_core/src/json/JSONWorker.h +++ b/src/mir_core/src/json/JSONWorker.h @@ -3,7 +3,8 @@ #include "JSONNode.h" -class JSONWorker { +class MIR_CORE_EXPORT JSONWorker +{ public: static JSONNode parse(const json_string & json); #ifdef JSON_VALIDATE diff --git a/src/mir_core/src/json/libJSON.cpp b/src/mir_core/src/json/libJSON.cpp index e32a3b3256..2a735ec3b4 100644 --- a/src/mir_core/src/json/libJSON.cpp +++ b/src/mir_core/src/json/libJSON.cpp @@ -49,6 +49,8 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. static const json_char * EMPTY_CSTRING = JSON_TEXT(""); #endif +extern JSONNode nullNode; + inline TCHAR* toCString(const json_string & str) { return mir_utf8decodeT( str.c_str()); @@ -84,6 +86,11 @@ MIR_CORE_DLL(void) json_delete(JSONNODE *node){ } #endif +JSONNode JSONNode::parse(const json_char *str) +{ + return JSONWorker::parse(str); +} + MIR_CORE_DLL(JSONNODE*) json_parse(const json_char *json){ JSON_ASSERT_SAFE(json, JSON_TEXT("null ptr to json_parse"), return 0;); try { @@ -397,19 +404,15 @@ MIR_CORE_DLL(void) json_reserve(JSONNODE *node, json_index_t siz){ MIR_CORE_DLL(JSONNODE*) json_at(JSONNODE *node, json_index_t pos){ JSON_ASSERT_SAFE(node, JSON_TEXT("null node to json_at"), return 0;); - try { - return &((JSONNode*)node) -> at(pos); - } catch (std::out_of_range){} - return 0; + JSONNode &res = ((JSONNode*)node) -> at(pos); + return (&res == &nullNode) ? NULL : &res; } MIR_CORE_DLL(JSONNODE*) json_get(JSONNODE *node, const json_char *name){ JSON_ASSERT_SAFE(node, JSON_TEXT("null node to json_get"), return 0;); JSON_ASSERT_SAFE(name, JSON_TEXT("null node to json_get. Did you mean to use json_at?"), return 0;); - try { - return &((JSONNode*)node) -> at(name); - } catch (std::out_of_range){} - return 0; + JSONNode &res = ((JSONNode*)node)->at(name); + return (&res == &nullNode) ? NULL : &res; } #ifdef JSON_CASE_INSENSITIVE_FUNCTIONS @@ -435,18 +438,18 @@ MIR_CORE_DLL(void) json_push_back(JSONNODE *node, JSONNODE *node2){ #ifdef JSON_MEMORY_MANAGE NodeHandler.remove(node2); #endif - ((JSONNode*)node) -> push_back((JSONNode*)node2); + ((JSONNode*)node) -> push_back(*(JSONNode*)node2); } MIR_CORE_DLL(JSONNODE*) json_pop_back_at(JSONNODE *node, json_index_t pos){ JSON_ASSERT_SAFE(node, JSON_TEXT("null node to json_pop_back_i"), return 0;); - return MANAGER_INSERT(((JSONNode*)node) -> pop_back(pos)); + return MANAGER_INSERT(&((JSONNode*)node) -> pop_back(pos)); } MIR_CORE_DLL(JSONNODE*) json_pop_back(JSONNODE *node, const json_char *name){ JSON_ASSERT_SAFE(node, JSON_TEXT("null node to json_pop_back"), return 0;); JSON_ASSERT_SAFE(name, JSON_TEXT("null name to json_pop_back. Did you mean to use json_pop_back_at?"), return 0;); - return MANAGER_INSERT(((JSONNode*)node) -> pop_back(name)); + return MANAGER_INSERT(&((JSONNode*)node) -> pop_back(name)); } //comparison diff --git a/src/mir_core/src/mir_core.def b/src/mir_core/src/mir_core.def index b2157d77e4..ded290235f 100644 --- a/src/mir_core/src/mir_core.def +++ b/src/mir_core/src/mir_core.def @@ -1093,3 +1093,149 @@ Proto_RegisterModule @1074 NONAME ?Fail@CDlgBase@@QAEXXZ @1096 NONAME ?OnApply@CCtrlPages@@MAEXXZ @1097 NONAME ?OnReset@CCtrlPages@@MAEXXZ @1098 NONAME +??0JSONNode@@AAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1099 NONAME +??0JSONNode@@AAE@PAVinternalJSONNode@@@Z @1100 NONAME +??0JSONNode@@AAE@_NAAV0@@Z @1101 NONAME +??0JSONNode@@QAE@ABV0@@Z @1102 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z @1103 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@D@Z @1104 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@E@Z @1105 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@F@Z @1106 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@G@Z @1107 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z @1108 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z @1109 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@J@Z @1110 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@K@Z @1111 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@M@Z @1112 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z @1113 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PBD@Z @1114 NONAME +??0JSONNode@@QAE@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z @1115 NONAME +??0JSONNode@@QAE@D@Z @1116 NONAME +??1JSONNode@@QAE@XZ @1117 NONAME +??4JSONNode@@QAEAAV0@ABV0@@Z @1118 NONAME +??4JSONNode@@QAEAAV0@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1119 NONAME +??4JSONNode@@QAEAAV0@D@Z @1120 NONAME +??4JSONNode@@QAEAAV0@E@Z @1121 NONAME +??4JSONNode@@QAEAAV0@F@Z @1122 NONAME +??4JSONNode@@QAEAAV0@G@Z @1123 NONAME +??4JSONNode@@QAEAAV0@H@Z @1124 NONAME +??4JSONNode@@QAEAAV0@I@Z @1125 NONAME +??4JSONNode@@QAEAAV0@J@Z @1126 NONAME +??4JSONNode@@QAEAAV0@K@Z @1127 NONAME +??4JSONNode@@QAEAAV0@M@Z @1128 NONAME +??4JSONNode@@QAEAAV0@N@Z @1129 NONAME +??4JSONNode@@QAEAAV0@PBD@Z @1130 NONAME +??4JSONNode@@QAEAAV0@_N@Z @1131 NONAME +??4JSONWorker@@QAEAAV0@ABV0@@Z @1132 NONAME +??8JSONNode@@QBE_NABV0@@Z @1133 NONAME +??8JSONNode@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1134 NONAME +??8JSONNode@@QBE_ND@Z @1135 NONAME +??8JSONNode@@QBE_NE@Z @1136 NONAME +??8JSONNode@@QBE_NF@Z @1137 NONAME +??8JSONNode@@QBE_NG@Z @1138 NONAME +??8JSONNode@@QBE_NH@Z @1139 NONAME +??8JSONNode@@QBE_NI@Z @1140 NONAME +??8JSONNode@@QBE_NJ@Z @1141 NONAME +??8JSONNode@@QBE_NK@Z @1142 NONAME +??8JSONNode@@QBE_NM@Z @1143 NONAME +??8JSONNode@@QBE_NN@Z @1144 NONAME +??8JSONNode@@QBE_NPBD@Z @1145 NONAME +??8JSONNode@@QBE_N_N@Z @1146 NONAME +??9JSONNode@@QBE_NABV0@@Z @1147 NONAME +??9JSONNode@@QBE_NABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1148 NONAME +??9JSONNode@@QBE_ND@Z @1149 NONAME +??9JSONNode@@QBE_NE@Z @1150 NONAME +??9JSONNode@@QBE_NF@Z @1151 NONAME +??9JSONNode@@QBE_NG@Z @1152 NONAME +??9JSONNode@@QBE_NH@Z @1153 NONAME +??9JSONNode@@QBE_NI@Z @1154 NONAME +??9JSONNode@@QBE_NJ@Z @1155 NONAME +??9JSONNode@@QBE_NK@Z @1156 NONAME +??9JSONNode@@QBE_NM@Z @1157 NONAME +??9JSONNode@@QBE_NN@Z @1158 NONAME +??9JSONNode@@QBE_NPBD@Z @1159 NONAME +??9JSONNode@@QBE_N_N@Z @1160 NONAME +??AJSONNode@@QAEAAV0@I@Z @1161 NONAME +??AJSONNode@@QAEAAV0@PBD@Z @1162 NONAME +??AJSONNode@@QBEABV0@I@Z @1163 NONAME +??AJSONNode@@QBEABV0@PBD@Z @1164 NONAME +??_FJSONNode@@QAEXXZ @1165 NONAME +?DoArray@JSONWorker@@SAXPBVinternalJSONNode@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1166 NONAME +?DoNode@JSONWorker@@SAXPBVinternalJSONNode@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1167 NONAME +?FindNextRelevant@JSONWorker@@CAIDABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z @1168 NONAME +?FixString@JSONWorker@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@AA_N@Z @1169 NONAME +?Hex@JSONWorker@@CADAAPBD@Z @1170 NONAME +?NewNode@JSONWorker@@CAXPBVinternalJSONNode@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_N@Z @1171 NONAME +?RemoveWhiteSpace@JSONWorker@@SAPADABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AAD@Z @1172 NONAME +?RemoveWhiteSpaceAndComments@JSONWorker@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@@Z @1173 NONAME +?SpecialChar@JSONWorker@@CAXAAPBDAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1174 NONAME +?UTF8@JSONWorker@@CAEAAPBD@Z @1175 NONAME +?UTF8_2@JSONWorker@@CAPADAAPBD@Z @1176 NONAME +?UnfixString@JSONWorker@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@ABV23@_N@Z @1177 NONAME +?as_array@JSONNode@@QBE?AV1@XZ @1178 NONAME +?as_bool@JSONNode@@QBE_NXZ @1179 NONAME +?as_float@JSONNode@@QBENXZ @1180 NONAME +?as_int@JSONNode@@QBEJXZ @1181 NONAME +?as_node@JSONNode@@QBE?AV1@XZ @1182 NONAME +?as_string@JSONNode@@QBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @1183 NONAME +?at@JSONNode@@QAEAAV1@I@Z @1184 NONAME +?at@JSONNode@@QAEAAV1@PBD@Z @1185 NONAME +?at@JSONNode@@QBEABV1@I@Z @1186 NONAME +?at@JSONNode@@QBEABV1@PBD@Z @1187 NONAME +?begin@JSONNode@@QAE?AUiterator@1@XZ @1188 NONAME +?begin@JSONNode@@QBE?AUconst_iterator@1@XZ @1189 NONAME +?cast@JSONNode@@QAEXD@Z @1190 NONAME +?clear@JSONNode@@QAEXXZ @1191 NONAME +?decRef@JSONNode@@AAEXXZ @1192 NONAME +?deleteJSONNode@JSONNode@@SAXPAV1@@Z @1193 NONAME +?duplicate@JSONNode@@QBE?AV1@XZ @1194 NONAME +?empty@JSONNode@@QBE_NXZ @1195 NONAME +?end@JSONNode@@QAE?AUiterator@1@XZ @1196 NONAME +?end@JSONNode@@QBE?AUconst_iterator@1@XZ @1197 NONAME +?erase@JSONNode@@QAE?AUiterator@1@U21@@Z @1198 NONAME +?erase@JSONNode@@QAE?AUiterator@1@U21@ABU21@@Z @1199 NONAME +?erase@JSONNode@@QAE?AUreverse_iterator@1@U21@@Z @1200 NONAME +?erase@JSONNode@@QAE?AUreverse_iterator@1@U21@ABU21@@Z @1201 NONAME +?find@JSONNode@@QAE?AUiterator@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1202 NONAME +?find@JSONNode@@QBE?AUconst_iterator@1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1203 NONAME +?insert@JSONNode@@QAE?AUiterator@1@U21@ABU21@1@Z @1204 NONAME +?insert@JSONNode@@QAE?AUiterator@1@U21@ABUconst_iterator@1@1@Z @1205 NONAME +?insert@JSONNode@@QAE?AUiterator@1@U21@ABUreverse_const_iterator@1@1@Z @1206 NONAME +?insert@JSONNode@@QAE?AUiterator@1@U21@ABUreverse_iterator@1@1@Z @1207 NONAME +?insert@JSONNode@@QAE?AUiterator@1@U21@ABV1@@Z @1208 NONAME +?insert@JSONNode@@QAE?AUreverse_iterator@1@U21@ABU21@1@Z @1209 NONAME +?insert@JSONNode@@QAE?AUreverse_iterator@1@U21@ABUconst_iterator@1@1@Z @1210 NONAME +?insert@JSONNode@@QAE?AUreverse_iterator@1@U21@ABUiterator@1@1@Z @1211 NONAME +?insert@JSONNode@@QAE?AUreverse_iterator@1@U21@ABUreverse_const_iterator@1@1@Z @1212 NONAME +?insert@JSONNode@@QAE?AUreverse_iterator@1@U21@ABV1@@Z @1213 NONAME +?insertFFF@JSONNode@@AAE?AUiterator@1@U21@QAPAV1@1@Z @1214 NONAME +?insertFRR@JSONNode@@AAE?AUiterator@1@U21@QAPAV1@1@Z @1215 NONAME +?insertRFF@JSONNode@@AAE?AUreverse_iterator@1@U21@QAPAV1@1@Z @1216 NONAME +?insertRRR@JSONNode@@AAE?AUreverse_iterator@1@U21@QAPAV1@1@Z @1217 NONAME +?makeUniqueInternal@JSONNode@@AAEXXZ @1218 NONAME +?merge@JSONNode@@AAEXPAV1@@Z @1219 NONAME +?merge@JSONNode@@QAAXIZZ @1220 NONAME +?merge@JSONNode@@QAEXAAV1@@Z @1221 NONAME +?name@JSONNode@@QBEPBDXZ @1222 NONAME +?newJSONNode@JSONNode@@CAPAV1@ABV1@@Z @1223 NONAME +?newJSONNode@JSONNode@@CAPAV1@PAVinternalJSONNode@@@Z @1224 NONAME +?newJSONNode_Shallow@JSONNode@@SAPAV1@ABV1@@Z @1225 NONAME +?nullify@JSONNode@@QAEXXZ @1226 NONAME +?parse@JSONNode@@SA?AV1@PBD@Z @1227 NONAME +?parse@JSONWorker@@SA?AVJSONNode@@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1228 NONAME +?pop_back@JSONNode@@QAE?AV1@ABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1229 NONAME +?pop_back@JSONNode@@QAE?AV1@I@Z @1230 NONAME +?preparse@JSONNode@@QAEXXZ @1231 NONAME +?push_back@JSONNode@@QAEXABV1@@Z @1232 NONAME +?rbegin@JSONNode@@QAE?AUreverse_iterator@1@XZ @1233 NONAME +?rbegin@JSONNode@@QBE?AUreverse_const_iterator@1@XZ @1234 NONAME +?rend@JSONNode@@QAE?AUreverse_iterator@1@XZ @1235 NONAME +?rend@JSONNode@@QBE?AUreverse_const_iterator@1@XZ @1236 NONAME +?reserve@JSONNode@@QAEXI@Z @1237 NONAME +?set_name@JSONNode@@QAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1238 NONAME +?size@JSONNode@@QBEIXZ @1239 NONAME +?swap@JSONNode@@QAEXAAV1@@Z @1240 NONAME +?toUTF8@JSONWorker@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@E@Z @1241 NONAME +?type@JSONNode@@QBEEXZ @1242 NONAME +?write@JSONNode@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @1243 NONAME +?write_formatted@JSONNode@@QAE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @1244 NONAME diff --git a/src/mir_core/src/mir_core64.def b/src/mir_core/src/mir_core64.def index 3b8d10cae3..84b561fc13 100644 --- a/src/mir_core/src/mir_core64.def +++ b/src/mir_core/src/mir_core64.def @@ -1093,3 +1093,149 @@ Proto_RegisterModule @1074 NONAME ?Fail@CDlgBase@@QEAAXXZ @1096 NONAME ?OnApply@CCtrlPages@@MEAAXXZ @1097 NONAME ?OnReset@CCtrlPages@@MEAAXXZ @1098 NONAME +??0JSONNode@@AEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1099 NONAME +??0JSONNode@@AEAA@PEAVinternalJSONNode@@@Z @1100 NONAME +??0JSONNode@@AEAA@_NAEAV0@@Z @1101 NONAME +??0JSONNode@@QEAA@AEBV0@@Z @1102 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@0@Z @1103 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@D@Z @1104 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@E@Z @1105 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@F@Z @1106 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@G@Z @1107 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z @1108 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@I@Z @1109 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@J@Z @1110 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@K@Z @1111 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@M@Z @1112 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@N@Z @1113 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PEBD@Z @1114 NONAME +??0JSONNode@@QEAA@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_N@Z @1115 NONAME +??0JSONNode@@QEAA@D@Z @1116 NONAME +??1JSONNode@@QEAA@XZ @1117 NONAME +??4JSONNode@@QEAAAEAV0@AEBV0@@Z @1118 NONAME +??4JSONNode@@QEAAAEAV0@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1119 NONAME +??4JSONNode@@QEAAAEAV0@D@Z @1120 NONAME +??4JSONNode@@QEAAAEAV0@E@Z @1121 NONAME +??4JSONNode@@QEAAAEAV0@F@Z @1122 NONAME +??4JSONNode@@QEAAAEAV0@G@Z @1123 NONAME +??4JSONNode@@QEAAAEAV0@H@Z @1124 NONAME +??4JSONNode@@QEAAAEAV0@I@Z @1125 NONAME +??4JSONNode@@QEAAAEAV0@J@Z @1126 NONAME +??4JSONNode@@QEAAAEAV0@K@Z @1127 NONAME +??4JSONNode@@QEAAAEAV0@M@Z @1128 NONAME +??4JSONNode@@QEAAAEAV0@N@Z @1129 NONAME +??4JSONNode@@QEAAAEAV0@PEBD@Z @1130 NONAME +??4JSONNode@@QEAAAEAV0@_N@Z @1131 NONAME +??4JSONWorker@@QEAAAEAV0@AEBV0@@Z @1132 NONAME +??8JSONNode@@QEBA_NAEBV0@@Z @1133 NONAME +??8JSONNode@@QEBA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1134 NONAME +??8JSONNode@@QEBA_ND@Z @1135 NONAME +??8JSONNode@@QEBA_NE@Z @1136 NONAME +??8JSONNode@@QEBA_NF@Z @1137 NONAME +??8JSONNode@@QEBA_NG@Z @1138 NONAME +??8JSONNode@@QEBA_NH@Z @1139 NONAME +??8JSONNode@@QEBA_NI@Z @1140 NONAME +??8JSONNode@@QEBA_NJ@Z @1141 NONAME +??8JSONNode@@QEBA_NK@Z @1142 NONAME +??8JSONNode@@QEBA_NM@Z @1143 NONAME +??8JSONNode@@QEBA_NN@Z @1144 NONAME +??8JSONNode@@QEBA_NPEBD@Z @1145 NONAME +??8JSONNode@@QEBA_N_N@Z @1146 NONAME +??9JSONNode@@QEBA_NAEBV0@@Z @1147 NONAME +??9JSONNode@@QEBA_NAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1148 NONAME +??9JSONNode@@QEBA_ND@Z @1149 NONAME +??9JSONNode@@QEBA_NE@Z @1150 NONAME +??9JSONNode@@QEBA_NF@Z @1151 NONAME +??9JSONNode@@QEBA_NG@Z @1152 NONAME +??9JSONNode@@QEBA_NH@Z @1153 NONAME +??9JSONNode@@QEBA_NI@Z @1154 NONAME +??9JSONNode@@QEBA_NJ@Z @1155 NONAME +??9JSONNode@@QEBA_NK@Z @1156 NONAME +??9JSONNode@@QEBA_NM@Z @1157 NONAME +??9JSONNode@@QEBA_NN@Z @1158 NONAME +??9JSONNode@@QEBA_NPEBD@Z @1159 NONAME +??9JSONNode@@QEBA_N_N@Z @1160 NONAME +??AJSONNode@@QEAAAEAV0@PEBD@Z @1161 NONAME +??AJSONNode@@QEAAAEAV0@_K@Z @1162 NONAME +??AJSONNode@@QEBAAEBV0@PEBD@Z @1163 NONAME +??AJSONNode@@QEBAAEBV0@_K@Z @1164 NONAME +??_FJSONNode@@QEAAXXZ @1165 NONAME +?DoArray@JSONWorker@@SAXPEBVinternalJSONNode@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1166 NONAME +?DoNode@JSONWorker@@SAXPEBVinternalJSONNode@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1167 NONAME +?FindNextRelevant@JSONWorker@@CA_KDAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@_K@Z @1168 NONAME +?FixString@JSONWorker@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV23@AEA_N@Z @1169 NONAME +?Hex@JSONWorker@@CADAEAPEBD@Z @1170 NONAME +?NewNode@JSONWorker@@CAXPEBVinternalJSONNode@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@1_N@Z @1171 NONAME +?RemoveWhiteSpace@JSONWorker@@SAPEADAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEAD@Z @1172 NONAME +?RemoveWhiteSpaceAndComments@JSONWorker@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV23@@Z @1173 NONAME +?SpecialChar@JSONWorker@@CAXAEAPEBDAEAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1174 NONAME +?UTF8@JSONWorker@@CAEAEAPEBD@Z @1175 NONAME +?UTF8_2@JSONWorker@@CAPEADAEAPEBD@Z @1176 NONAME +?UnfixString@JSONWorker@@SA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@AEBV23@_N@Z @1177 NONAME +?as_array@JSONNode@@QEBA?AV1@XZ @1178 NONAME +?as_bool@JSONNode@@QEBA_NXZ @1179 NONAME +?as_float@JSONNode@@QEBANXZ @1180 NONAME +?as_int@JSONNode@@QEBAJXZ @1181 NONAME +?as_node@JSONNode@@QEBA?AV1@XZ @1182 NONAME +?as_string@JSONNode@@QEBA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @1183 NONAME +?at@JSONNode@@QEAAAEAV1@PEBD@Z @1184 NONAME +?at@JSONNode@@QEAAAEAV1@_K@Z @1185 NONAME +?at@JSONNode@@QEBAAEBV1@PEBD@Z @1186 NONAME +?at@JSONNode@@QEBAAEBV1@_K@Z @1187 NONAME +?begin@JSONNode@@QEAA?AUiterator@1@XZ @1188 NONAME +?begin@JSONNode@@QEBA?AUconst_iterator@1@XZ @1189 NONAME +?cast@JSONNode@@QEAAXD@Z @1190 NONAME +?clear@JSONNode@@QEAAXXZ @1191 NONAME +?decRef@JSONNode@@AEAAXXZ @1192 NONAME +?deleteJSONNode@JSONNode@@SAXPEAV1@@Z @1193 NONAME +?duplicate@JSONNode@@QEBA?AV1@XZ @1194 NONAME +?empty@JSONNode@@QEBA_NXZ @1195 NONAME +?end@JSONNode@@QEAA?AUiterator@1@XZ @1196 NONAME +?end@JSONNode@@QEBA?AUconst_iterator@1@XZ @1197 NONAME +?erase@JSONNode@@QEAA?AUiterator@1@U21@@Z @1198 NONAME +?erase@JSONNode@@QEAA?AUiterator@1@U21@AEBU21@@Z @1199 NONAME +?erase@JSONNode@@QEAA?AUreverse_iterator@1@U21@@Z @1200 NONAME +?erase@JSONNode@@QEAA?AUreverse_iterator@1@U21@AEBU21@@Z @1201 NONAME +?find@JSONNode@@QEAA?AUiterator@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1202 NONAME +?find@JSONNode@@QEBA?AUconst_iterator@1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1203 NONAME +?insert@JSONNode@@QEAA?AUiterator@1@U21@AEBU21@1@Z @1204 NONAME +?insert@JSONNode@@QEAA?AUiterator@1@U21@AEBUconst_iterator@1@1@Z @1205 NONAME +?insert@JSONNode@@QEAA?AUiterator@1@U21@AEBUreverse_const_iterator@1@1@Z @1206 NONAME +?insert@JSONNode@@QEAA?AUiterator@1@U21@AEBUreverse_iterator@1@1@Z @1207 NONAME +?insert@JSONNode@@QEAA?AUiterator@1@U21@AEBV1@@Z @1208 NONAME +?insert@JSONNode@@QEAA?AUreverse_iterator@1@U21@AEBU21@1@Z @1209 NONAME +?insert@JSONNode@@QEAA?AUreverse_iterator@1@U21@AEBUconst_iterator@1@1@Z @1210 NONAME +?insert@JSONNode@@QEAA?AUreverse_iterator@1@U21@AEBUiterator@1@1@Z @1211 NONAME +?insert@JSONNode@@QEAA?AUreverse_iterator@1@U21@AEBUreverse_const_iterator@1@1@Z @1212 NONAME +?insert@JSONNode@@QEAA?AUreverse_iterator@1@U21@AEBV1@@Z @1213 NONAME +?insertFFF@JSONNode@@AEAA?AUiterator@1@U21@QEAPEAV1@1@Z @1214 NONAME +?insertFRR@JSONNode@@AEAA?AUiterator@1@U21@QEAPEAV1@1@Z @1215 NONAME +?insertRFF@JSONNode@@AEAA?AUreverse_iterator@1@U21@QEAPEAV1@1@Z @1216 NONAME +?insertRRR@JSONNode@@AEAA?AUreverse_iterator@1@U21@QEAPEAV1@1@Z @1217 NONAME +?makeUniqueInternal@JSONNode@@AEAAXXZ @1218 NONAME +?merge@JSONNode@@AEAAXPEAV1@@Z @1219 NONAME +?merge@JSONNode@@QEAAXAEAV1@@Z @1220 NONAME +?merge@JSONNode@@QEAAXIZZ @1221 NONAME +?name@JSONNode@@QEBAPEBDXZ @1222 NONAME +?newJSONNode@JSONNode@@CAPEAV1@AEBV1@@Z @1223 NONAME +?newJSONNode@JSONNode@@CAPEAV1@PEAVinternalJSONNode@@@Z @1224 NONAME +?newJSONNode_Shallow@JSONNode@@SAPEAV1@AEBV1@@Z @1225 NONAME +?nullify@JSONNode@@QEAAXXZ @1226 NONAME +?parse@JSONNode@@SA?AV1@PEBD@Z @1227 NONAME +?parse@JSONWorker@@SA?AVJSONNode@@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1228 NONAME +?pop_back@JSONNode@@QEAA?AV1@AEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1229 NONAME +?pop_back@JSONNode@@QEAA?AV1@_K@Z @1230 NONAME +?preparse@JSONNode@@QEAAXXZ @1231 NONAME +?push_back@JSONNode@@QEAAXAEBV1@@Z @1232 NONAME +?rbegin@JSONNode@@QEAA?AUreverse_iterator@1@XZ @1233 NONAME +?rbegin@JSONNode@@QEBA?AUreverse_const_iterator@1@XZ @1234 NONAME +?rend@JSONNode@@QEAA?AUreverse_iterator@1@XZ @1235 NONAME +?rend@JSONNode@@QEBA?AUreverse_const_iterator@1@XZ @1236 NONAME +?reserve@JSONNode@@QEAAX_K@Z @1237 NONAME +?set_name@JSONNode@@QEAAXAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z @1238 NONAME +?size@JSONNode@@QEBA_KXZ @1239 NONAME +?swap@JSONNode@@QEAAXAEAV1@@Z @1240 NONAME +?toUTF8@JSONWorker@@CA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@E@Z @1241 NONAME +?type@JSONNode@@QEBAEXZ @1242 NONAME +?write@JSONNode@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @1243 NONAME +?write_formatted@JSONNode@@QEAA?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ @1244 NONAME -- cgit v1.2.3