diff options
author | Christian Dywan <christian.dywan@lanedo.com> | 2010-06-21 07:13:47 +0200 |
---|---|---|
committer | Will Thompson <will.thompson@collabora.co.uk> | 2010-06-22 16:59:26 +0100 |
commit | 085e7730b88a0c4a42a325c3ed4dd99f0b67185b (patch) | |
tree | b4cb2079b9d021ed29637b9550f8b41a129e5953 | |
parent | 882a2e11a9ea41ce3704c23cc60875fcbe00caf3 (diff) | |
download | dbus-085e7730b88a0c4a42a325c3ed4dd99f0b67185b.tar.gz |
Implement doctype check in the trivial parser
This is needed for the libxml parser backend.
-rw-r--r-- | bus/config-parser-trivial.c | 19 | ||||
-rw-r--r-- | bus/config-parser-trivial.h | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/bus/config-parser-trivial.c b/bus/config-parser-trivial.c index fd016a84..8a1f504c 100644 --- a/bus/config-parser-trivial.c +++ b/bus/config-parser-trivial.c @@ -131,6 +131,25 @@ bus_config_parser_unref (BusConfigParser *parser) } dbus_bool_t +bus_config_parser_check_doctype (BusConfigParser *parser, + const char *doctype, + DBusError *error) +{ + _DBUS_ASSERT_ERROR_IS_CLEAR (error); + + if (strcmp (doctype, "busconfig") != 0) + { + dbus_set_error (error, + DBUS_ERROR_FAILED, + "Configuration file has the wrong document type %s", + doctype); + return FALSE; + } + else + return TRUE; +} + +dbus_bool_t bus_config_parser_start_element (BusConfigParser *parser, const char *element_name, const char **attribute_names, diff --git a/bus/config-parser-trivial.h b/bus/config-parser-trivial.h index ce542bfb..6733b1f4 100644 --- a/bus/config-parser-trivial.h +++ b/bus/config-parser-trivial.h @@ -41,6 +41,9 @@ BusConfigParser* bus_config_parser_new (const DBusString *basedir, BusConfigParser* bus_config_parser_ref (BusConfigParser *parser); void bus_config_parser_unref (BusConfigParser *parser); +dbus_bool_t bus_config_parser_check_doctype (BusConfigParser *parser, + const char *doctype, + DBusError *error); dbus_bool_t bus_config_parser_start_element (BusConfigParser *parser, const char *element_name, const char **attribute_names, |