33#ifndef INCLUDE_OLA_WEB_JSONLEXER_H_
34#define INCLUDE_OLA_WEB_JSONLEXER_H_
62 static bool Parse(
const std::string &input,
84 virtual void End() = 0;
91 virtual void String(
const std::string &value) = 0;
96 virtual void Number(uint32_t value) = 0;
131 virtual void Bool(
bool value) = 0;
170 virtual void SetError(
const std::string &error) = 0;
Basic data types used to represent elements in a JSON document.
Parse a string containing Json data.
Definition JsonLexer.h:54
static bool Parse(const std::string &input, class JsonParserInterface *handler)
Parse a string containing JSON data.
Definition JsonLexer.cpp:432
The interface used to handle tokens during JSON parsing.
Definition JsonLexer.h:71
virtual void Number(int64_t value)=0
Called when a int64_t is encountered.
virtual void End()=0
Called when parsing completes.
virtual void SetError(const std::string &error)=0
Can be called at any time to indicate an error with the input data.
virtual void Number(const JsonDouble::DoubleRepresentation &rep)=0
Called when a double value is encountered.
virtual void CloseArray()=0
Called when an array completes.
virtual void Null()=0
Called when a null token is encountered.
virtual void Bool(bool value)=0
Called when a bool is encountered.
virtual void Number(uint64_t value)=0
Called when a uint64_t is encountered.
virtual void Number(double d)=0
Called when a double value is encountered.
virtual void CloseObject()=0
Called when an object completes.
virtual void OpenObject()=0
Called when an object starts.
virtual void Number(int32_t value)=0
Called when a int32_t is encountered.
virtual void OpenArray()=0
Called when an array starts.
virtual void Begin()=0
Called when parsing begins.
virtual void Number(uint32_t value)=0
Called when a uint32_t is encountered.
virtual void ObjectKey(const std::string &key)=0
Called when a new key is encountered.
virtual void String(const std::string &value)=0
Called when a string is encountered.
The namespace containing all OLA symbols.
Definition Credentials.cpp:44
Represents a JSON double value broken down as separate components.
Definition Json.h:666