Mercurial > hg > easaier-soundaccess
annotate data/fileio/ModelReader.h @ 282:d9319859a4cf tip
(none)
author | benoitrigolleau |
---|---|
date | Fri, 31 Oct 2008 11:00:24 +0000 |
parents | 3e35ed5332cb |
children |
rev | line source |
---|---|
lbajardsilogic@15 | 1 /* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ |
lbajardsilogic@15 | 2 |
lbajardsilogic@15 | 3 /* Sound Access |
lbajardsilogic@15 | 4 EASAIER client application. |
lbajardsilogic@15 | 5 Silogic 2007. Laure Bajard. |
lbajardsilogic@15 | 6 |
lbajardsilogic@15 | 7 This program is free software; you can redistribute it and/or |
lbajardsilogic@15 | 8 modify it under the terms of the GNU General Public License as |
lbajardsilogic@15 | 9 published by the Free Software Foundation; either version 2 of the |
lbajardsilogic@15 | 10 License, or (at your option) any later version. See the file |
lbajardsilogic@15 | 11 COPYING included with this distribution for more information. |
lbajardsilogic@15 | 12 */ |
lbajardsilogic@15 | 13 |
lbajardsilogic@15 | 14 #ifndef _MODEL_READER_H_ |
lbajardsilogic@15 | 15 #define _MODEL_READER_H_ |
lbajardsilogic@15 | 16 |
lbajardsilogic@15 | 17 #include <QXmlDefaultHandler> |
lbajardsilogic@15 | 18 |
lbajardsilogic@15 | 19 #include <map> |
lbajardsilogic@15 | 20 |
lbajardsilogic@15 | 21 class Document; |
lbajardsilogic@15 | 22 class Layer; |
lbajardsilogic@15 | 23 class Model; |
lbajardsilogic@15 | 24 class Pane; |
lbajardsilogic@15 | 25 |
lbajardsilogic@15 | 26 class ModelReader |
lbajardsilogic@15 | 27 { |
lbajardsilogic@15 | 28 public: |
lbajardsilogic@15 | 29 ModelReader(Document *document, Layer * layer = 0, Pane* pane = 0); |
lbajardsilogic@15 | 30 virtual ~ModelReader(){} |
lbajardsilogic@15 | 31 |
lbajardsilogic@15 | 32 bool parse(const QString & filename); |
lbajardsilogic@15 | 33 |
lbajardsilogic@15 | 34 private: |
lbajardsilogic@15 | 35 Document *m_document; |
lbajardsilogic@15 | 36 Layer *m_layer; |
lbajardsilogic@15 | 37 Pane *m_pane; |
lbajardsilogic@15 | 38 |
lbajardsilogic@15 | 39 }; |
lbajardsilogic@15 | 40 |
lbajardsilogic@15 | 41 class ModelHandler : public QXmlDefaultHandler |
lbajardsilogic@15 | 42 { |
lbajardsilogic@15 | 43 public: |
lbajardsilogic@15 | 44 ModelHandler(Document *document, Layer * layer = 0, Pane* pane = 0); |
lbajardsilogic@15 | 45 |
lbajardsilogic@15 | 46 bool startElement(const QString &namespaceURI, const QString &localName, |
lbajardsilogic@15 | 47 const QString &qName, const QXmlAttributes &attributes); |
lbajardsilogic@15 | 48 bool endElement(const QString &namespaceURI, const QString &localName, |
lbajardsilogic@15 | 49 const QString &qName); |
lbajardsilogic@15 | 50 bool characters(const QString &str); |
lbajardsilogic@15 | 51 bool error(const QXmlParseException &exception); |
lbajardsilogic@15 | 52 bool fatalError(const QXmlParseException &exception); |
lbajardsilogic@15 | 53 |
lbajardsilogic@251 | 54 void addNewData(); |
lbajardsilogic@251 | 55 void addDataInterval(); |
lbajardsilogic@251 | 56 void addDataTimeInstants(); |
lbajardsilogic@251 | 57 |
lbajardsilogic@15 | 58 private: |
lbajardsilogic@15 | 59 Document *m_document; |
lbajardsilogic@15 | 60 Layer *m_layer; |
lbajardsilogic@15 | 61 Pane *m_pane; |
lbajardsilogic@15 | 62 |
lbajardsilogic@15 | 63 Model *m_model; |
lbajardsilogic@15 | 64 |
lbajardsilogic@251 | 65 bool m_inBinding; |
lbajardsilogic@251 | 66 QString m_curBindingName; |
lbajardsilogic@251 | 67 std::map<QString, QString> m_info; |
lbajardsilogic@251 | 68 |
lbajardsilogic@251 | 69 int m_sampleRate; |
benoitrigolleau@240 | 70 |
lbajardsilogic@15 | 71 }; |
lbajardsilogic@15 | 72 |
lbajardsilogic@15 | 73 #endif |