-/* 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.
#include <stdbool.h>
#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. */
};
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,
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);