summaryrefslogtreecommitdiff
path: root/include/qobject/json-parser.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/qobject/json-parser.h')
-rw-r--r--include/qobject/json-parser.h16
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;