Mercurial > hg > easaier-soundaccess
view data/fileio/ModelReader.h @ 252:3e35ed5332cb
cleaning
author | lbajardsilogic |
---|---|
date | Thu, 12 Jun 2008 12:29:49 +0000 |
parents | 2ea04b3f9141 |
children |
line wrap: on
line source
/* -*- c-basic-offset: 4 indent-tabs-mode: nil -*- vi:set ts=8 sts=4 sw=4: */ /* Sound Access EASAIER client application. Silogic 2007. Laure Bajard. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. See the file COPYING included with this distribution for more information. */ #ifndef _MODEL_READER_H_ #define _MODEL_READER_H_ #include <QXmlDefaultHandler> #include <map> class Document; class Layer; class Model; class Pane; class ModelReader { public: ModelReader(Document *document, Layer * layer = 0, Pane* pane = 0); virtual ~ModelReader(){} bool parse(const QString & filename); private: Document *m_document; Layer *m_layer; Pane *m_pane; }; class ModelHandler : public QXmlDefaultHandler { public: ModelHandler(Document *document, Layer * layer = 0, Pane* pane = 0); bool startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attributes); bool endElement(const QString &namespaceURI, const QString &localName, const QString &qName); bool characters(const QString &str); bool error(const QXmlParseException &exception); bool fatalError(const QXmlParseException &exception); void addNewData(); void addDataInterval(); void addDataTimeInstants(); private: Document *m_document; Layer *m_layer; Pane *m_pane; Model *m_model; bool m_inBinding; QString m_curBindingName; std::map<QString, QString> m_info; int m_sampleRate; }; #endif