X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fovsdb-parser.h;h=75bf6e48e93a88606a59ff25b151e5f5720169ae;hb=0ef165ecb57943e17a8ee8270df68ffb8d032e29;hp=6efa0a73c8bb5f5bd937502b280e8b0254b0206e;hpb=58fda1dab104041fc693032475ec4662c1a52849;p=sliver-openvswitch.git diff --git a/lib/ovsdb-parser.h b/lib/ovsdb-parser.h index 6efa0a73c..75bf6e48e 100644 --- a/lib/ovsdb-parser.h +++ b/lib/ovsdb-parser.h @@ -1,4 +1,4 @@ -/* Copyright (c) 2009 Nicira Networks +/* Copyright (c) 2009, 2010, 2011 Nicira, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -19,12 +19,12 @@ #include #include "compiler.h" #include "json.h" -#include "svec.h" +#include "sset.h" #include "util.h" struct ovsdb_parser { char *name; /* Used only in error messages. */ - struct svec used; /* Already-parsed names from 'object'. */ + struct sset used; /* Already-parsed names from 'object'. */ const struct json *json; /* JSON object being parsed. */ struct ovsdb_error *error; /* Error signaled, if any. */ }; @@ -49,6 +49,8 @@ enum ovsdb_parser_types { OP_INTEGER = 1 << JSON_INTEGER, /* 123. */ OP_NONINTEGER = 1 << JSON_REAL, /* 123.456. */ OP_STRING = 1 << JSON_STRING, /* "..." */ + OP_ANY = (OP_NULL | OP_FALSE | OP_TRUE | OP_OBJECT | OP_ARRAY + | OP_INTEGER | OP_NONINTEGER | OP_STRING), OP_BOOLEAN = OP_FALSE | OP_TRUE, OP_NUMBER = OP_INTEGER | OP_NONINTEGER, @@ -70,6 +72,7 @@ bool ovsdb_parser_has_error(const struct ovsdb_parser *); struct ovsdb_error *ovsdb_parser_get_error(const struct ovsdb_parser *); struct ovsdb_error *ovsdb_parser_finish(struct ovsdb_parser *) WARN_UNUSED_RESULT; +void ovsdb_parser_destroy(struct ovsdb_parser *); bool ovsdb_parser_is_id(const char *string);