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
41std::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::XMLErrorWatcher
Definition: libvisio_xml.h:25
libvisio::XMLErrorWatcher::setError
void setError()
Definition: libvisio_xml.cpp:94
libvisio::XMLErrorWatcher::operator=
XMLErrorWatcher & operator=(const XMLErrorWatcher &)
libvisio::XMLErrorWatcher::isError
bool isError() const
Definition: libvisio_xml.cpp:89
libvisio::XMLErrorWatcher::m_error
bool m_error
Definition: libvisio_xml.h:37
libvisio::XMLErrorWatcher::XMLErrorWatcher
XMLErrorWatcher()
Definition: libvisio_xml.cpp:84
libvisio::XMLErrorWatcher::XMLErrorWatcher
XMLErrorWatcher(const XMLErrorWatcher &)
libvisio
Definition: libvisio_utils.h:49
libvisio::xmlReaderForStream
std::unique_ptr< xmlTextReader, void(*)(xmlTextReaderPtr)> xmlReaderForStream(librevenge::RVNGInputStream *input, XMLErrorWatcher *const watcher, bool recover)
Definition: libvisio_xml.cpp:100
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::xmlStringToColour
Colour xmlStringToColour(const xmlChar *s)
Definition: libvisio_xml.cpp:115
libvisio::xmlStringToLong
long xmlStringToLong(const xmlChar *s)
Definition: libvisio_xml.cpp:151
libvisio::Colour
Definition: VSDTypes.h:71