Open Lighting Architecture
0.9.5
|
The interface used to handle tokens during JSON parsing.
As the JsonLexer traverses the input string, it calls the methods below.
Public Member Functions | |
virtual void | Begin ()=0 |
Called when parsing begins. | |
virtual void | End ()=0 |
Called when parsing completes. | |
virtual void | String (const std::string &value)=0 |
Called when a string is encounted. | |
virtual void | Number (uint32_t value)=0 |
Called when a uint32_t is encounted. | |
virtual void | Number (int32_t value)=0 |
Called when a int32_t is encounted. | |
virtual void | Number (uint64_t value)=0 |
Called when a uint64_t is encounted. | |
virtual void | Number (int64_t value)=0 |
Called when a int64_t is encounted. | |
virtual void | Number (const JsonDouble::DoubleRepresentation &rep)=0 |
Called when a double value is encounted. | |
virtual void | Number (double d)=0 |
Called when a double value is encounted. | |
virtual void | Bool (bool value)=0 |
Called when a bool is encounted. | |
virtual void | Null ()=0 |
Called when a null token is encounted. | |
virtual void | OpenArray ()=0 |
Called when an array starts. | |
virtual void | CloseArray ()=0 |
Called when an array completes. | |
virtual void | OpenObject ()=0 |
Called when an object starts. | |
virtual void | ObjectKey (const std::string &key)=0 |
Called when a new key is encounted. | |
virtual void | CloseObject ()=0 |
Called when an object completes. | |
virtual void | SetError (const std::string &error)=0 |
Can be called at any time to indicate an error with the input data. |
|
pure virtual |
Called when a double value is encounted.
MinGW struggles with long doubles http://mingw.5.n7.nabble.com/Strange-behaviour-of-gcc-4-8-1-with-long-double-td32949.html To avoid this, and to keep as many significant bits as possible we keep the components of a double separate. See JsonDouble for details.
Implemented in ola::web::JsonPatchParser, ola::web::SchemaParser, and ola::web::JsonParser.
|
pure virtual |
Called when a new key is encounted.
This may be called multiple times for the same object. The standard doesn't specify how to handle duplicate keys, so I generally use the last one.
Implemented in ola::web::JsonPatchParser, ola::web::SchemaParser, and ola::web::JsonParser.
|
pure virtual |
Called when a string is encounted.
This is not called for object keys, see ObjectKey() below.
Implemented in ola::web::JsonPatchParser, ola::web::SchemaParser, and ola::web::JsonParser.