libodsstream
odsdocreader.h
1 /*
2  libodsstream is a library to read and write ODS documents as streams
3  Copyright (C) 2013 Olivier Langella <Olivier.Langella@moulon.inra.fr>
4 
5  This program is free software: you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published by
7  the Free Software Foundation, either version 3 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 
18 */
19 
20 #ifndef ODSDOCREADER_H
21 #define ODSDOCREADER_H
22 
23 #include <quazip/quazip.h>
24 
25 #include "reader/odscell.h"
26 #include "odsdochandlerinterface.h"
27 
29 
31 {
32  friend SaxHandlerContentXml;
33 public:
41  virtual ~OdsDocReader();
42 
43 
44  void parse(QFile & odsFile);
45  void parse(QIODevice * p_inputstream);
46 
47 
48 private:
49  void setInsideCell(const OdsCell & cell);
50  void startInsideLine();
51 
52  void startSheet(const QString & sheet_name) {_handler.startSheet(sheet_name);};
53 
54  void endSheet() {_handler.endSheet();};
55 
56  void startLine() {_handler.startLine();};
57 
58  void endLine() {_handler.endLine();};
59 
60  void setCell(const OdsCell & cell) {_handler.setCell(cell);};
61  void endDocument() {_handler.endDocument();};
62 
63 
64  QuaZip * _p_quaZip;
65 
66  uint _column_number;
67 
68  OdsDocHandlerInterface & _handler;
69 };
70 
71 #endif // ODSDOCREADER_H
virtual void startLine()=0
virtual void startSheet(const QString &sheet_name)=0
virtual void endSheet()=0
Definition: saxhandlercontentxml.h:28
virtual void setCell(const OdsCell &)=0
OdsDocReader(OdsDocHandlerInterface &handler)
Definition: odsdocreader.cpp:26
virtual void endDocument()=0
Definition: odsdocreader.h:30
virtual void endLine()=0
Definition: odsdochandlerinterface.h:26
Definition: odscell.h:28