/* Helper routines for parsing XML using Expat.
- Copyright (C) 2006-2019 Free Software Foundation, Inc.
+ Copyright (C) 2006-2020 Free Software Foundation, Inc.
This file is part of GDB.
#include "gdbsupport/xml-utils.h"
#include "gdbsupport/byte-vector.h"
#include "gdbsupport/gdb_optional.h"
+#include "gdbsupport/function-view.h"
struct gdb_xml_parser;
struct gdb_xml_element;
gdb_byte *readbuf, const gdb_byte *writebuf,
ULONGEST offset, LONGEST len);
-/* The text of compiled-in XML documents, from xml-builtin.c
- (generated). */
-
-extern const char *xml_builtin[][2];
-
/* Support for XInclude. */
/* Callback to fetch a new XML file, based on the provided HREF. */
-typedef gdb::optional<gdb::char_vector> (*xml_fetch_another) (const char *href,
- void *baton);
+using xml_fetch_another = gdb::function_view<gdb::optional<gdb::char_vector>
+ (const char * /* href */)>;
/* Append the expansion of TEXT after processing <xi:include> tags in
- RESULT. FETCHER will be called (with FETCHER_BATON) to retrieve
- any new files. DEPTH should be zero on the initial call.
+ RESULT. FETCHER will be called to retrieve any new files. DEPTH
+ should be zero on the initial call.
On failure, this function uses NAME in a warning and returns false.
It may throw an exception, but does not for XML parsing
bool xml_process_xincludes (std::string &result,
const char *name, const char *text,
- xml_fetch_another fetcher, void *fetcher_baton,
- int depth);
+ xml_fetch_another fetcher, int depth);
/* Simplified XML parser infrastructure. */
and warn. */
extern gdb::optional<gdb::char_vector> xml_fetch_content_from_file
- (const char *filename, void *baton);
+ (const char *filename, const char *dirname);
#endif