SpikeStream Library
0.2
|
00001 #ifndef XMLPARAMETERPARSER_H 00002 #define XMLPARAMETERPARSER_H 00003 00004 //Qt includes 00005 #include <qxml.h> 00006 #include <QHash> 00007 #include <QString> 00008 00009 namespace spikestream { 00010 00012 class XMLParameterParser : public QXmlDefaultHandler { 00013 public: 00014 XMLParameterParser(); 00015 ~XMLParameterParser(); 00016 QHash<QString, double> getParameterMap(const QString& xmlString); 00017 00018 protected: 00019 //Parsing methods inherited from QXmlDefaultHandler 00020 bool characters ( const QString & ch ); 00021 bool endElement( const QString&, const QString&, const QString& ); 00022 bool startDocument(); 00023 bool startElement( const QString&, const QString&, const QString& , const QXmlAttributes& ); 00024 00025 //Error handling methods inherited from QXmlDefaultHandler 00026 bool error ( const QXmlParseException & exception ); 00027 QString errorString(); 00028 bool fatalError ( const QXmlParseException & exception ); 00029 bool warning ( const QXmlParseException & exception ); 00030 00031 00032 private: 00034 QString currentElement; 00035 00037 QString currentParamName; 00038 00040 double currentParamValue; 00041 00043 bool loadingParameter; 00044 00046 QHash<QString, double> parameterMap; 00047 00048 }; 00049 00050 } 00051 00052 #endif//XMLPARAMETERPARSER_H 00053