34 #ifndef GRPC_INTERNAL_CORE_JSON_JSON_READER_H
35 #define GRPC_INTERNAL_CORE_JSON_JSON_READER_H
37 #include <grpc/support/port_platform.h>
38 #include "src/core/json/json_common.h"
41 GRPC_JSON_STATE_OBJECT_KEY_BEGIN,
42 GRPC_JSON_STATE_OBJECT_KEY_STRING,
43 GRPC_JSON_STATE_OBJECT_KEY_END,
44 GRPC_JSON_STATE_VALUE_BEGIN,
45 GRPC_JSON_STATE_VALUE_STRING,
46 GRPC_JSON_STATE_STRING_ESCAPE,
47 GRPC_JSON_STATE_STRING_ESCAPE_U1,
48 GRPC_JSON_STATE_STRING_ESCAPE_U2,
49 GRPC_JSON_STATE_STRING_ESCAPE_U3,
50 GRPC_JSON_STATE_STRING_ESCAPE_U4,
51 GRPC_JSON_STATE_VALUE_NUMBER,
52 GRPC_JSON_STATE_VALUE_NUMBER_WITH_DECIMAL,
53 GRPC_JSON_STATE_VALUE_NUMBER_ZERO,
54 GRPC_JSON_STATE_VALUE_NUMBER_DOT,
55 GRPC_JSON_STATE_VALUE_NUMBER_E,
56 GRPC_JSON_STATE_VALUE_NUMBER_EPM,
57 GRPC_JSON_STATE_VALUE_TRUE_R,
58 GRPC_JSON_STATE_VALUE_TRUE_U,
59 GRPC_JSON_STATE_VALUE_TRUE_E,
60 GRPC_JSON_STATE_VALUE_FALSE_A,
61 GRPC_JSON_STATE_VALUE_FALSE_L,
62 GRPC_JSON_STATE_VALUE_FALSE_S,
63 GRPC_JSON_STATE_VALUE_FALSE_E,
64 GRPC_JSON_STATE_VALUE_NULL_U,
65 GRPC_JSON_STATE_VALUE_NULL_L1,
66 GRPC_JSON_STATE_VALUE_NULL_L2,
67 GRPC_JSON_STATE_VALUE_END,
69 } grpc_json_reader_state;
76 GRPC_JSON_READ_CHAR_EOF = 0x7ffffff0,
77 GRPC_JSON_READ_CHAR_EAGAIN,
78 GRPC_JSON_READ_CHAR_ERROR
85 void (*string_clear)(
void* userdata);
87 void (*string_add_char)(
void* userdata, gpr_uint32 c);
89 void (*string_add_utf32)(
void* userdata, gpr_uint32 c);
91 gpr_uint32 (*read_char)(
void* userdata);
93 void (*container_begins)(
void* userdata, grpc_json_type type);
95 grpc_json_type (*container_ends)(
void* userdata);
97 void (*set_key)(
void* userdata);
99 void (*set_string)(
void* userdata);
101 int (*set_number)(
void* userdata);
103 void (*set_true)(
void* userdata);
104 void (*set_false)(
void* userdata);
105 void (*set_null)(
void* userdata);
118 int escaped_string_was_key;
119 int container_just_begun;
120 gpr_uint16 unicode_char, unicode_high_surrogate;
121 grpc_json_reader_state state;
128 GRPC_JSON_READ_ERROR,
129 GRPC_JSON_PARSE_ERROR,
130 GRPC_JSON_INTERNAL_ERROR
131 } grpc_json_reader_status;
Definition: json_reader.h:83
Definition: json_reader.h:108