Open Lighting Architecture
0.9.5
Main Page
Modules
Related Pages
Namespaces
Classes
Files
File List
File Members
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
include
ola
web
JsonLexer.h
Go to the documentation of this file.
1
/*
2
* This library is free software; you can redistribute it and/or
3
* modify it under the terms of the GNU Lesser General Public
4
* License as published by the Free Software Foundation; either
5
* version 2.1 of the License, or (at your option) any later version.
6
*
7
* This library is distributed in the hope that it will be useful,
8
* but WITHOUT ANY WARRANTY; without even the implied warranty of
9
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
* Lesser General Public License for more details.
11
*
12
* You should have received a copy of the GNU Lesser General Public
13
* License along with this library; if not, write to the Free Software
14
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
15
*
16
* JsonLexer.h
17
* A class for Parsing Json data.
18
* See http://www.json.org/
19
* Copyright (C) 2014 Simon Newton
20
*/
21
33
#ifndef INCLUDE_OLA_WEB_JSONLEXER_H_
34
#define INCLUDE_OLA_WEB_JSONLEXER_H_
35
36
#include <
ola/web/Json.h
>
37
#include <string>
38
39
namespace
ola {
40
namespace
web {
41
54
class
JsonLexer
{
55
public
:
62
static
bool
Parse
(
const
std::string &input,
63
class
JsonParserInterface
*handler);
64
};
65
71
class
JsonParserInterface
{
72
public
:
73
JsonParserInterface
() {}
74
virtual
~
JsonParserInterface
() {}
75
79
virtual
void
Begin
() = 0;
80
84
virtual
void
End
() = 0;
85
91
virtual
void
String
(
const
std::string &value) = 0;
92
96
virtual
void
Number
(uint32_t value) = 0;
97
101
virtual
void
Number
(int32_t value) = 0;
102
106
virtual
void
Number
(uint64_t value) = 0;
107
111
virtual
void
Number
(int64_t value) = 0;
112
121
virtual
void
Number
(
const
JsonDouble::DoubleRepresentation
&rep) = 0;
122
126
virtual
void
Number
(
double
d) = 0;
127
131
virtual
void
Bool
(
bool
value) = 0;
132
136
virtual
void
Null
() = 0;
137
141
virtual
void
OpenArray
() = 0;
142
146
virtual
void
CloseArray
() = 0;
147
151
virtual
void
OpenObject
() = 0;
152
160
virtual
void
ObjectKey
(
const
std::string &key) = 0;
161
165
virtual
void
CloseObject
() = 0;
166
170
virtual
void
SetError
(
const
std::string &error) = 0;
171
};
172
174
}
// namespace web
175
}
// namespace ola
176
#endif // INCLUDE_OLA_WEB_JSONLEXER_H_
Generated on Sun Mar 1 2015 13:02:40 for Open Lighting Architecture by
1.8.1.2