X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=simgear%2Fxml%2Feasyxml.hxx;h=f5ff575d9dcb2d803f277c3e32bfe6af335e32a6;hb=b9a34b1b05ce9cab1b4b67816d7d24bd2bc364b7;hp=52e807be101eaaceafb3492517b6fa394c53a8d2;hpb=1976481ba23c82bfca31d53a43b552c4bd3c0003;p=simgear.git diff --git a/simgear/xml/easyxml.hxx b/simgear/xml/easyxml.hxx index 52e807be..f5ff575d 100644 --- a/simgear/xml/easyxml.hxx +++ b/simgear/xml/easyxml.hxx @@ -9,31 +9,15 @@ #define __EASYXML_HXX #include +#include -#include - -#include STL_IOSTREAM -#include STL_STRING +#include +#include #include -#if !defined(SG_HAVE_NATIVE_SGI_COMPILERS) -SG_USING_STD(istream); -#endif -SG_USING_STD(string); -SG_USING_STD(vector); - - -/** - * Exception for an low-level XML parsing error. - */ -class sg_xml_exception : public sg_io_exception -{ -public: - sg_xml_exception (); - sg_xml_exception (const string &message); - sg_xml_exception (const string &message, const sg_location &location); - virtual ~sg_xml_exception (); -}; +using std::istream; +using std::string; +using std::vector; /** @@ -417,5 +401,27 @@ extern void readXML (istream &input, XMLVisitor &visitor, extern void readXML (const string &path, XMLVisitor &visitor); +/** + * @relates XMLVisitor + * Read an XML document. + * + * This function reads an XML document from the buffer provided, + * and invokes the callback methods in the visitor object to pass the + * parsing events back to the application. When this function + * returns, the parser will have reported all of the data in the XML + * document to the application through the visitor callback methods, + * and XML processing will be complete. + * + * @param buf The xml data buffer. + * @param size The size of the data buffer in bytes + * @param visitor An object that contains callbacks for XML parsing + * events. + * @exception Throws sg_io_exception or sg_xml_exception if there + * is a problem reading the file. + * @see XMLVisitor + */ +extern void readXML (const char *buf, const int size, XMLVisitor &visitor); + + #endif // __EASYXML_HXX