libvisio_xml.h Source File documentation

libvisio_xml.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3 * This file is part of the libvisio project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10 #ifndef __LIBVISIO_XML_H__
11 #define __LIBVISIO_XML_H__
12
13 #include <memory>
14
15 #include <librevenge-stream/librevenge-stream.h>
16
17 #include <libxml/xmlreader.h>
18
19 namespace libvisio
20 {
21
22 struct Colour;
23
24 class XMLErrorWatcher
25 {
26 // disable copying
27 XMLErrorWatcher(const XMLErrorWatcher &);
28 XMLErrorWatcher &operator=(const XMLErrorWatcher &);
29
30 public:
31 XMLErrorWatcher();
32
33 bool isError() const;
34 void setError();
35
36 private:
37 bool m_error;
38 };
39
40 // create an xmlTextReader from a librevenge::RVNGInputStream
41 std::unique_ptr<xmlTextReader, void (*)(xmlTextReaderPtr)>
42 xmlReaderForStream(librevenge::RVNGInputStream *input, XMLErrorWatcher *watcher = nullptr, bool recover = true);
43
44 Colour xmlStringToColour(const xmlChar *s);
45 Colour xmlStringToColour(const std::shared_ptr<xmlChar> &s);
46
47 long xmlStringToLong(const xmlChar *s);
48 long xmlStringToLong(const std::shared_ptr<xmlChar> &s);
49
50 double xmlStringToDouble(const xmlChar *s);
51 double xmlStringToDouble(const std::shared_ptr<xmlChar> &s);
52
53 bool xmlStringToBool(const xmlChar *s);
54 bool xmlStringToBool(const std::shared_ptr<xmlChar> &s);
55
56 } // namespace libvisio
57
58 #endif // __LIBVISIO_XML_H__
59
60 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::xmlReaderForStream
std::unique_ptr< xmlTextReader, void(*)(xmlTextReaderPtr)> xmlReaderForStream(librevenge::RVNGInputStream *input, XMLErrorWatcher *watcher=nullptr, bool recover=true)
Definition: libvisio_xml.h:42
libvisio::XMLErrorWatcher::m_error
bool m_error
Definition: libvisio_xml.h:37
VSD_DEBUG_MSG
#define VSD_DEBUG_MSG(M)
Definition: libvisio_utils.h:42
libvisio::xmlStringToDouble
double xmlStringToDouble(const xmlChar *s)
Definition: libvisio_xml.cpp:175
libvisio::xmlStringToBool
bool xmlStringToBool(const xmlChar *s)
Definition: libvisio_xml.cpp:193
libvisio::XmlParserException
Definition: libvisio_utils.h:91
VSDTypes.h
libvisio::Colour
Definition: VSDTypes.h:70
libvisio::xmlStringToColour
Colour xmlStringToColour(const xmlChar *s)
Definition: libvisio_xml.cpp:115
libvisio::XMLErrorWatcher
Definition: libvisio_xml.h:24
libvisio::XMLErrorWatcher::operator=
XMLErrorWatcher & operator=(const XMLErrorWatcher &)
libvisio::XMLErrorWatcher::setError
void setError()
Definition: libvisio_xml.cpp:94
libvisio::XMLErrorWatcher::isError
bool isError() const
Definition: libvisio_xml.cpp:89
libvisio_xml.h
libvisio_utils.h
libvisio::XMLErrorWatcher::XMLErrorWatcher
XMLErrorWatcher()
Definition: libvisio_xml.cpp:84
libvisio
Definition: libvisio_utils.h:48
libvisio::xmlStringToLong
long xmlStringToLong(const xmlChar *s)
Definition: libvisio_xml.cpp:151