123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #ifndef __PJSUA2_JSON_HPP__
- #define __PJSUA2_JSON_HPP__
- #include <pjsua2/persistent.hpp>
- #include <pjlib-util/json.h>
- #include <pj/pool.h>
- #include <string>
- namespace pj
- {
- using std::string;
- class JsonDocument : public PersistentDocument
- {
- public:
-
- JsonDocument();
-
- ~JsonDocument();
-
- virtual void loadFile(const string &filename) PJSUA2_THROW(Error);
-
- virtual void loadString(const string &input) PJSUA2_THROW(Error);
-
- virtual void saveFile(const string &filename) PJSUA2_THROW(Error);
-
- virtual string saveString() PJSUA2_THROW(Error);
-
- virtual ContainerNode & getRootContainer() const;
-
- pj_json_elem* allocElement() const;
-
- pj_pool_t* getPool();
- private:
- pj_caching_pool cp;
- mutable ContainerNode rootNode;
- mutable pj_json_elem *root;
- mutable pj_pool_t *pool;
- void initRoot() const;
- };
- }
- #endif
|