Open Lighting Architecture
0.9.3
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 Nov 16 2014 15:43:11 for Open Lighting Architecture by
1.8.1.2