#ifndef BU_JSON_H #define BU_JSON_H namespace Bu { class Json { public: Json(); virtual ~Json(); public: enum Type { tObject, tArray, tString, tNumber, tBoolean, tNull }; class Base { public: Base(); virtual ~Base(); virtual Type getType()=0; }; class Object : public Base { public: Object(); virtual ~Object(); virtual Type getType(); }; class Array : public Base { public: Array(); virtual ~Array(); virtual Type getType(); }; class String : public Base { public: String(); virtual ~String(); virtual Type getType(); }; class Number : public Base { public: Number(); virtual ~Number(); virtual Type getType(); }; class Boolean : public Base { public: Boolean(); virtual ~Boolean(); virtual Type getType(); }; class Null : public Base { public: Null(); virtual ~Null(); virtual Type getType(); }; private: }; }; #endif