diff options
Diffstat (limited to 'include/qobject/json-parser.h')
| -rw-r--r-- | include/qobject/json-parser.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/include/qobject/json-parser.h b/include/qobject/json-parser.h index 7345a9bd5c..e078b36b2d 100644 --- a/include/qobject/json-parser.h +++ b/include/qobject/json-parser.h @@ -17,17 +17,25 @@ typedef struct JSONLexer { int start_state, state; GString *token; + int cur_x, cur_y; int x, y; } JSONLexer; +typedef struct JSONParserContext { + Error *err; + GQueue *stack; + va_list *ap; +} JSONParserContext; + typedef struct JSONMessageParser { void (*emit)(void *opaque, QObject *json, Error *err); void *opaque; - va_list *ap; JSONLexer lexer; - int brace_count; - int bracket_count; - GQueue tokens; + JSONParserContext parser; + unsigned int brace_count; + unsigned int bracket_count; + unsigned int token_count; + bool error; uint64_t token_size; } JSONMessageParser; |
