- Main Page
- Namespaces
- Classes
- Files

- File List
- File Members

VDXParser.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libvisio
3 * Version: MPL 1.1 / GPLv2+ / LGPLv2+
4 *
5 * The contents of this file are subject to the Mozilla Public License Version
6 * 1.1 (the "License"); you may not use this file except in compliance with
7 * the License or as specified alternatively below. You may obtain a copy of
8 * the License at http://www.mozilla.org/MPL/
9 *
10 * Software distributed under the License is distributed on an "AS IS" basis,
11 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
12 * for the specific language governing rights and limitations under the
13 * License.
14 *
15 * Major Contributor(s):
16 * Copyright (C) 2012 Fridrich Strba <fridrich.strba@bluewin.ch>
17 *
18 *
19 * All Rights Reserved.
20 *
21 * For minor contributions see the git repository.
22 *
23 * Alternatively, the contents of this file may be used under the terms of
24 * either the GNU General Public License Version 2 or later (the "GPLv2+"), or
25 * the GNU Lesser General Public License Version 2 or later (the "LGPLv2+"),
26 * in which case the provisions of the GPLv2+ or the LGPLv2+ are applicable
27 * instead of those above.
28 */
29
30 #ifndef __VDXPARSER_H__
31 #define __VDXPARSER_H__
32
33 #include <libwpd-stream/libwpd-stream.h>
34 #include <libwpg/libwpg.h>
35 #include "VSDXMLParserBase.h"
36
37 namespace libvisio
38 {
39
40 class VSDCollector;
41
42 class VDXParser : public VSDXMLParserBase
43 {
44 using VSDXMLParserBase::readExtendedColourData;
45 using VSDXMLParserBase::readDoubleData;
46 using VSDXMLParserBase::readBoolData;
47 using VSDXMLParserBase::readLongData;
48
49 public:
50 explicit VDXParser(WPXInputStream *input, libwpg::WPGPaintInterface *painter);
51 virtual ~VDXParser();
52 bool parseMain();
53 bool extractStencils();
54
55 private:
56 VDXParser();
57 VDXParser(const VDXParser &);
58 VDXParser &operator=(const VDXParser &);
59
60 // Helper functions
61
62 xmlChar *readStringData(xmlTextReaderPtr reader);
63
64 int getElementToken(xmlTextReaderPtr reader);
65 int getElementDepth(xmlTextReaderPtr reader);
66
67 // Functions to read the DatadiagramML document structure
68
69 bool processXmlDocument(WPXInputStream *input);
70 void processXmlNode(xmlTextReaderPtr reader);
71
72 // Functions reading the DiagramML document content
73
74 void readLine(xmlTextReaderPtr reader);
75 void readFillAndShadow(xmlTextReaderPtr reader);
76 void readXFormData(xmlTextReaderPtr reader);
77 void readMisc(xmlTextReaderPtr reader);
78 void readTxtXForm(xmlTextReaderPtr reader);
79 void readPageProps(xmlTextReaderPtr reader);
80 void readFonts(xmlTextReaderPtr reader);
81 void readTextBlock(xmlTextReaderPtr reader);
82 void readForeignInfo(xmlTextReaderPtr reader);
83
84 void getBinaryData(xmlTextReaderPtr reader);
85
86 // Private data
87
88 WPXInputStream *m_input;
89 libwpg::WPGPaintInterface *m_painter;
90 };
91
92 } // namespace libvisio
93
94 #endif // __VDXPARSER_H__
95 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libvisio::VDXParser::readTextBlock
void readTextBlock(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:728
libvisio::VDXParser::processXmlDocument
bool processXmlDocument(WPXInputStream *input)
Definition: VDXParser.cpp:92
libvisio::VDXParser
Definition: VDXParser.h:42
libvisio::VDXParser::readXFormData
void readXFormData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:492
libvisio::VSDXMLParserBase::readBoolData
int readBoolData(boost::optional< bool > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2054
libvisio::VDXParser::getBinaryData
void getBinaryData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:836
libvisio::VDXParser::readPageProps
void readPageProps(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:630
libvisio::VDXParser::processXmlNode
void processXmlNode(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:112
VSDXMLParserBase.h
libvisio::VDXParser::~VDXParser
virtual ~VDXParser()
Definition: VDXParser.cpp:49
libvisio::VDXParser::operator=
VDXParser & operator=(const VDXParser &)
libvisio::VDXParser::readTxtXForm
void readTxtXForm(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:551
libvisio::VSDXMLParserBase::readDoubleData
int readDoubleData(boost::optional< double > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:1998
libvisio::VDXParser::readFonts
void readFonts(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:696
libvisio::VDXParser::readMisc
void readMisc(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:465
libvisio::VDXParser::readLine
void readLine(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:317
libvisio::VDXParser::VDXParser
VDXParser()
libvisio::VDXParser::getElementToken
int getElementToken(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:826
libvisio::VDXParser::readForeignInfo
void readForeignInfo(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:852
libvisio::VSDXMLParserBase::readLongData
int readLongData(boost::optional< long > &value, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2026
libvisio::VSDXMLParserBase::readExtendedColourData
int readExtendedColourData(Colour &value, long &idx, xmlTextReaderPtr reader)
Definition: VSDXMLParserBase.cpp:2119
libvisio::VDXParser::m_input
WPXInputStream * m_input
Definition: VDXParser.h:88
libvisio::VDXParser::readFillAndShadow
void readFillAndShadow(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:377
libvisio::VSDXMLParserBase
Definition: VSDXMLParserBase.h:48
libvisio::VDXParser::extractStencils
bool extractStencils()
Definition: VDXParser.cpp:86
libvisio::VDXParser::m_painter
libwpg::WPGPaintInterface * m_painter
Definition: VDXParser.h:89
libvisio::VDXParser::parseMain
bool parseMain()
Definition: VDXParser.cpp:53
libvisio::VDXParser::readStringData
xmlChar * readStringData(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:810
libvisio::VDXParser::getElementDepth
int getElementDepth(xmlTextReaderPtr reader)
Definition: VDXParser.cpp:831