X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=lib%2Fovsdb-parser.h;h=75bf6e48e93a88606a59ff25b151e5f5720169ae;hb=ea7655d9f9d38a3af7250de8ba0b89115b5f4a5e;hp=6a3e32df6e47285796bb1e7a6c0c47182656b967;hpb=124f9671b7c1bfed36836a98723f565bb55a116a;p=sliver-openvswitch.git diff --git a/lib/ovsdb-parser.h b/lib/ovsdb-parser.h index 6a3e32df6..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,5 +72,8 @@ 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); #endif /* ovsdb-parser.h */