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