10Duke Scale C++ Client
Loading...
Searching...
No Matches
CJsonElement.h
1#ifndef TENDUKE_JSON_CJSONELEMENT_H
2#define TENDUKE_JSON_CJSONELEMENT_H
3
4#include "json/JSONElement.h"
5
6#include <cjson/cJSON.h>
7
8namespace tenduke { namespace json { namespace cjson {
9
14{
15public:
24 cJSON *element,
25 bool root
26 ) : element(element), type(type), root(root)
27 {}
28
36 cJSON *element
37 ) : CjsonElement(type, element, false)
38 {}
39
40 ~CjsonElement() override;
41
42// Implementations:
43public:
44 std::string asString() const override;
45 enum Type getType() const override {return type;}
46
51 void setRoot(bool p_root) {this->root = p_root;}
52
58 cJSON * getCjsonElement() const {return element;}
59
60protected:
62 cJSON * element;
63
64private:
65 enum Type type;
66 bool root;
67};
68
69}}}
70
71#endif // TENDUKE_JSON_CJSONELEMENT_H
Superclass of JSON elements.
Definition JSONElement.h:12
Type
Type of the element.
Definition JSONElement.h:17
cJSON-implementation of tenduke::json::JSONElement.
Definition CJsonElement.h:14
enum Type getType() const override
Returns type of this element.
Definition CJsonElement.h:45
std::string asString() const override
Returns string representation of this element.
Definition CJsonElement.cpp:16
CjsonElement(enum tenduke::json::JSONElement::Type type, cJSON *element)
Constructs new instance.
Definition CJsonElement.h:34
cJSON * getCjsonElement() const
Returns the pointer to cJSON-element.
Definition CJsonElement.h:58
cJSON * element
Pointer to the cJSON element.
Definition CJsonElement.h:62
void setRoot(bool p_root)
Marks this node as root element.
Definition CJsonElement.h:51
CjsonElement(enum tenduke::json::JSONElement::Type type, cJSON *element, bool root)
Constructs new instance.
Definition CJsonElement.h:22
Implementation of JSON service interfaces using cJSON.
Definition CJsonArray.h:10
JSON support.
Definition JSONArray.h:10
Root for classes, functions and globals of 10Duke C++ Client.
Definition BackendConfiguration.h:7