00001 00006 #ifndef STRUCTURE_PARSER_H 00007 #define STRUCTURE_PARSER_H 00008 00009 #include "../Spur.h" 00010 #include "../Liste.h" 00011 #include "../Generator.h" 00012 00013 #include <qxml.h> 00014 00015 class QString; 00016 00021 class StructureParser : public QXmlDefaultHandler 00022 { 00023 public: 00024 StructureParser ( Spur **spurenArray, long int *spurenPosition, Liste *generatorListe, Liste *kreuzungsListe, Liste *fahrzeugeListe ); 00025 bool startElement ( const QString&, const QString&, const QString &qName, const QXmlAttributes &qAttr ); 00026 00027 private: 00028 StructureParser(); 00029 00030 Spur **spurenArray_; 00031 long int *spurenPosition_; 00032 Liste *generatorListe_; 00033 Liste *kreuzungsListe_; 00034 Liste *fahrzeugeListe_; 00035 int durchlauf_; 00036 int generator_anzahl; 00037 long int generator_spurId; 00038 long int generator_generatorId; 00039 double generator_zeit; 00040 Generator *generator; 00041 const char *idGenerator; 00042 const char *idSpur; 00043 00044 }; 00045 00050 class StructureCounter : public QXmlDefaultHandler 00051 { 00052 public: 00053 StructureCounter(); 00054 bool endElement( const QString&, const QString&, const QString &qName ); 00055 int gibAnzahlSpuren(); 00056 00057 private: 00058 int countSpuren_; 00059 }; 00060 00065 class StructureGetter : public QXmlDefaultHandler 00066 { 00067 public: 00068 StructureGetter(); 00069 bool startElement( const QString&, const QString&, const QString &qName, const QXmlAttributes &qAttr ); 00070 long int gibMaxId(); 00071 00072 private: 00073 long int maxID_; 00074 }; 00075 00076 #endif