@@ -33,12 +33,42 @@ JSONVar::JSONVar(bool b) :
33
33
*this = b;
34
34
}
35
35
36
+ JSONVar::JSONVar (char i) :
37
+ JSONVar ()
38
+ {
39
+ *this = i;
40
+ }
41
+
42
+ JSONVar::JSONVar (unsigned char i) :
43
+ JSONVar ()
44
+ {
45
+ *this = i;
46
+ }
47
+
48
+ JSONVar::JSONVar (short i) :
49
+ JSONVar ()
50
+ {
51
+ *this = i;
52
+ }
53
+
54
+ JSONVar::JSONVar (unsigned short i) :
55
+ JSONVar ()
56
+ {
57
+ *this = i;
58
+ }
59
+
36
60
JSONVar::JSONVar (int i) :
37
61
JSONVar()
38
62
{
39
63
*this = i;
40
64
}
41
65
66
+ JSONVar::JSONVar (unsigned int i) :
67
+ JSONVar ()
68
+ {
69
+ *this = i;
70
+ }
71
+
42
72
JSONVar::JSONVar (long l) :
43
73
JSONVar()
44
74
{
@@ -132,14 +162,44 @@ JSONVar::operator bool() const
132
162
return cJSON_IsBool (_json) && cJSON_IsTrue (_json);
133
163
}
134
164
135
- JSONVar::operator int () const
165
+ JSONVar::operator char () const
166
+ {
167
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
168
+ }
169
+
170
+ JSONVar::operator unsigned char () const
171
+ {
172
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
173
+ }
174
+
175
+ JSONVar::operator short () const
176
+ {
177
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
178
+ }
179
+
180
+ JSONVar::operator unsigned short () const
181
+ {
182
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
183
+ }
184
+
185
+ JSONVar::operator int () const
136
186
{
137
- return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
187
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
138
188
}
139
189
140
- JSONVar::operator long () const
190
+ JSONVar::operator unsigned int () const
141
191
{
142
- return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
192
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
193
+ }
194
+
195
+ JSONVar::operator long () const
196
+ {
197
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
198
+ }
199
+
200
+ JSONVar::operator unsigned long () const
201
+ {
202
+ return cJSON_IsNumber (_json) ? _json->valueint : 0 ;
143
203
}
144
204
145
205
JSONVar::operator double () const
@@ -156,6 +216,15 @@ JSONVar::operator const char*() const
156
216
return NULL ;
157
217
}
158
218
219
+ JSONVar::operator const String () const
220
+ {
221
+ if (cJSON_IsString (_json)) {
222
+ return String (_json->valuestring );
223
+ }
224
+
225
+ return String ();
226
+ }
227
+
159
228
void JSONVar::operator =(const JSONVar& v)
160
229
{
161
230
if (&v == &undefined) {
@@ -196,9 +265,34 @@ void JSONVar::operator=(bool b)
196
265
replaceJson (b ? cJSON_CreateTrue () : cJSON_CreateFalse ());
197
266
}
198
267
268
+ void JSONVar::operator =(char i)
269
+ {
270
+ replaceJson (cJSON_CreateNumber (i));
271
+ }
272
+
273
+ void JSONVar::operator =(unsigned char i)
274
+ {
275
+ replaceJson (cJSON_CreateNumber (i));
276
+ }
277
+
278
+ void JSONVar::operator =(short i)
279
+ {
280
+ replaceJson (cJSON_CreateNumber (i));
281
+ }
282
+
283
+ void JSONVar::operator =(unsigned short i)
284
+ {
285
+ replaceJson (cJSON_CreateNumber (i));
286
+ }
287
+
199
288
void JSONVar::operator =(int i)
200
289
{
201
- replaceJson (cJSON_CreateNumber (i));
290
+ replaceJson (cJSON_CreateNumber (i));
291
+ }
292
+
293
+ void JSONVar::operator =(unsigned int i)
294
+ {
295
+ replaceJson (cJSON_CreateNumber (i));
202
296
}
203
297
204
298
void JSONVar::operator =(long l)
0 commit comments