24 #include <tulip/tulipconf.h> 
   38 class TLP_SCOPE YajlParseFacade {
 
   42   virtual ~YajlParseFacade() {
 
   51   void parse(std::string filename);
 
   52   void parse(
const unsigned char* data, 
int length);
 
   54   virtual void parseNull();
 
   55   virtual void parseBoolean(
bool boolVal);
 
   56   virtual void parseInteger(
long long integerVal);
 
   57   virtual void parseDouble(
double doubleVal);
 
   58   virtual void parseNumber(
const char * numberVal, 
size_t numberLen);
 
   59   virtual void parseString(
const std::string& value);
 
   60   virtual void parseMapKey(
const std::string& value);
 
   61   virtual void parseStartMap();
 
   62   virtual void parseEndMap();
 
   63   virtual void parseStartArray();
 
   64   virtual void parseEndArray();
 
   66   bool parsingSucceeded() 
const;
 
   67   std::string errorMessage() 
const;
 
   71   bool _parsingSucceeded;
 
   72   std::string _errorMessage;
 
   75 class YajlWriteFacade {
 
   80   std::string generatedString();
 
   82   void writeInteger(
long long int number);
 
   83   void writeDouble(
double number);
 
   84   void writeNumber(
const char* str, 
size_t len);
 
   85   void writeString(
const std::string& text);
 
   87   void writeBool(
bool value);
 
   90   void writeArrayOpen();
 
   91   void writeArrayClose();
 
   93   yajl_gen_t* _generator;