~ubuntu-branches/ubuntu/wily/qemu-kvm-spice/wily

« back to all changes in this revision

Viewing changes to json-streamer.h

  • Committer: Bazaar Package Importer
  • Author(s): Serge Hallyn
  • Date: 2011-10-19 10:44:56 UTC
  • Revision ID: james.westby@ubuntu.com-20111019104456-xgvskumk3sxi97f4
Tags: upstream-0.15.0+noroms
ImportĀ upstreamĀ versionĀ 0.15.0+noroms

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * JSON streaming support
 
3
 *
 
4
 * Copyright IBM, Corp. 2009
 
5
 *
 
6
 * Authors:
 
7
 *  Anthony Liguori   <aliguori@us.ibm.com>
 
8
 *
 
9
 * This work is licensed under the terms of the GNU LGPL, version 2.1 or later.
 
10
 * See the COPYING.LIB file in the top-level directory.
 
11
 *
 
12
 */
 
13
 
 
14
#ifndef QEMU_JSON_STREAMER_H
 
15
#define QEMU_JSON_STREAMER_H
 
16
 
 
17
#include "qlist.h"
 
18
#include "json-lexer.h"
 
19
 
 
20
typedef struct JSONMessageParser
 
21
{
 
22
    void (*emit)(struct JSONMessageParser *parser, QList *tokens);
 
23
    JSONLexer lexer;
 
24
    int brace_count;
 
25
    int bracket_count;
 
26
    QList *tokens;
 
27
    uint64_t token_size;
 
28
} JSONMessageParser;
 
29
 
 
30
void json_message_parser_init(JSONMessageParser *parser,
 
31
                              void (*func)(JSONMessageParser *, QList *));
 
32
 
 
33
int json_message_parser_feed(JSONMessageParser *parser,
 
34
                             const char *buffer, size_t size);
 
35
 
 
36
int json_message_parser_flush(JSONMessageParser *parser);
 
37
 
 
38
void json_message_parser_destroy(JSONMessageParser *parser);
 
39
 
 
40
#endif