PTLib  Version 2.14.3
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
PJSON Class Reference

#include <pjson.h>

Inheritance diagram for PJSON:
Collaboration diagram for PJSON:

Public Member Functions

 PJSON ()
 
 ~PJSON ()
 
bool IsNull () const
 
bool IsBool () const
 
bool IsDouble () const
 
bool IsInt () const
 
bool IsString () const
 
bool IsObject () const
 
bool IsArray () const
 
bool Insert (const char *key, const PJSON &obj)
 
bool Remove (const char *key)
 
bool Append (const PJSON &obj)
 
size_t GetSize () const
 
ostream & operator<< (ostream &strm) const
 
virtual void PrintOn (ostream &strm) const
 
void push_back (const PJSON &obj)
 
size_t size () const
 
- Public Member Functions inherited from PObject
unsigned GetTraceContextIdentifier () const
 Get PTRACE context identifier. More...
 
void SetTraceContextIdentifier (unsigned id)
 
void GetTraceContextIdentifier (PObject &obj)
 
void GetTraceContextIdentifier (PObject *obj)
 
void SetTraceContextIdentifier (const PObject &obj)
 
void SetTraceContextIdentifier (const PObject *obj)
 
virtual ~PObject ()
 
virtual PObjectClone () const
 Create a copy of the class on the heap. More...
 
template<class CLS >
CLS * CloneAs () const
 As for Clone() but converts to specified type. More...
 
virtual PINDEX HashFunction () const
 This function yields a hash value required by the PDictionary class. More...
 
virtual Comparison Compare (const PObject &obj) const
 Compare the two objects and return their relative rank. More...
 
virtual Comparison CompareObjectMemoryDirect (const PObject &obj) const
 Determine the byte wise comparison of two objects. More...
 
bool operator== (const PObject &obj) const
 Compare the two objects. More...
 
bool operator!= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator< (const PObject &obj) const
 Compare the two objects. More...
 
bool operator> (const PObject &obj) const
 Compare the two objects. More...
 
bool operator<= (const PObject &obj) const
 Compare the two objects. More...
 
bool operator>= (const PObject &obj) const
 Compare the two objects. More...
 
virtual const char * GetClass (unsigned ancestor=0) const
 Get the current dynamic type of the object instance. More...
 
PBoolean IsClass (const char *cls) const
 
virtual PBoolean InternalIsDescendant (const char *clsName) const
 Determine if the dynamic type of the current instance is a descendent of the specified class. More...
 
__inline const PObjectPTraceObjectInstance () const
 
virtual void PrintOn (ostream &strm) const
 Output the contents of the object to the stream. More...
 
virtual void ReadFrom (istream &strm)
 Input the contents of the object from the stream. More...
 

Static Public Member Functions

static PJSON Null ()
 
static PJSON Bool (bool v)
 
static PJSON Double (double v)
 
static PJSON Int (int v)
 
static PJSON String (const char *v)
 
static PJSON String (const std::string &v)
 
static PJSON String (const PString &v)
 
static PJSON Object ()
 
static PJSON Array ()
 
static PJSON Parse (const char *str)
 
- Static Public Member Functions inherited from PObject
static Comparison InternalCompareObjectMemoryDirect (const PObject *obj1, const PObject *obj2, PINDEX size)
 Internal function caled from CompareObjectMemoryDirect() More...
 
static const char * Class ()
 Get the name of the class as a C string. More...
 
static __inline const PObjectPTraceObjectInstance (const char *)
 
static __inline const PObjectPTraceObjectInstance (const PObject *obj)
 

Protected Member Functions

 PJSON (json_object *j)
 
 PJSON (bool v)
 
 PJSON (double v)
 
 PJSON (int v)
 
 PJSON (const char *v)
 
bool IsType (enum json_type type) const
 
- Protected Member Functions inherited from PObject
 PObject ()
 Constructor for PObject, made protected so cannot ever create one on its own. More...
 

Protected Attributes

json_object * m_json
 
- Protected Attributes inherited from PObject
unsigned m_traceContextIdentifier
 

Additional Inherited Members

- Public Types inherited from PObject
enum  Comparison { LessThan = -1, EqualTo = 0, GreaterThan = 1 }
 Result of the comparison operation performed by the Compare() function. More...
 
- Friends inherited from PObject

Constructor & Destructor Documentation

PJSON::PJSON ( )
inline

References m_json.

Referenced by Array(), Bool(), Double(), Int(), Null(), Object(), Parse(), and String().

PJSON::~PJSON ( )
inline

References m_json.

PJSON::PJSON ( json_object *  j)
inlineprotected
PJSON::PJSON ( bool  v)
inlineprotected

References m_json.

PJSON::PJSON ( double  v)
inlineprotected

References m_json.

PJSON::PJSON ( int  v)
inlineprotected

References m_json.

PJSON::PJSON ( const char *  v)
inlineprotected

References m_json.

Member Function Documentation

bool PJSON::Append ( const PJSON obj)
inline

References IsArray(), and m_json.

Referenced by push_back().

static PJSON PJSON::Array ( )
inlinestatic

References PJSON().

static PJSON PJSON::Bool ( bool  v)
inlinestatic

References PJSON().

static PJSON PJSON::Double ( double  v)
inlinestatic

References PJSON().

size_t PJSON::GetSize ( ) const
inline

References m_json.

Referenced by size().

bool PJSON::Insert ( const char *  key,
const PJSON obj 
)
inline

References IsObject(), and m_json.

static PJSON PJSON::Int ( int  v)
inlinestatic

References PJSON().

bool PJSON::IsArray ( ) const
inline

References IsType().

Referenced by Append().

bool PJSON::IsBool ( ) const
inline

References IsType().

bool PJSON::IsDouble ( ) const
inline

References IsType().

bool PJSON::IsInt ( ) const
inline

References IsType().

bool PJSON::IsNull ( ) const
inline

References IsType().

bool PJSON::IsObject ( ) const
inline

References IsType().

Referenced by Insert(), and Remove().

bool PJSON::IsString ( ) const
inline

References IsType().

bool PJSON::IsType ( enum json_type  type) const
inlineprotected

References m_json.

Referenced by IsArray(), IsBool(), IsDouble(), IsInt(), IsNull(), IsObject(), and IsString().

static PJSON PJSON::Null ( )
inlinestatic

References PJSON().

static PJSON PJSON::Object ( )
inlinestatic

References PJSON().

ostream& PJSON::operator<< ( ostream &  strm) const
inline

References PrintOn().

static PJSON PJSON::Parse ( const char *  str)
inlinestatic

References PJSON().

virtual void PJSON::PrintOn ( ostream &  strm) const
inlinevirtual

References m_json.

Referenced by operator<<(), and operator<<().

void PJSON::push_back ( const PJSON obj)
inline

References Append().

bool PJSON::Remove ( const char *  key)
inline

References IsObject(), and m_json.

size_t PJSON::size ( ) const
inline

References GetSize().

static PJSON PJSON::String ( const char *  v)
inlinestatic

References PJSON().

static PJSON PJSON::String ( const std::string &  v)
inlinestatic

References PJSON().

static PJSON PJSON::String ( const PString v)
inlinestatic

References PJSON().

Member Data Documentation

json_object* PJSON::m_json
protected

The documentation for this class was generated from the following file: