cimforreduceloss/testHasttable/elementhashtable.h

44 lines
1.1 KiB
C++

#ifndef ELEMENTHASHTABLE_H
#define ELEMENTHASHTABLE_H
#include <QObject>
#include <QXmlStreamReader>
#include <QString>
#include <QDebug>
#include <QFile>
#include <QHash>
#include <QVector>
#include "BasicElementInfo.h"
#include "subcontrolarea.h"
#include "busbarsection.h"
#include "terminal.h"
#include "aclinesegment.h"
#include "breaker.h"
#include "compensator.h"
#include "disconnector.h"
#include "powertransformer.h"
#include "synchronousmachine.h"
#include "topologyrecorder.h"
class ElementHashtable : public QObject
{
Q_OBJECT
public:
explicit ElementHashtable(QObject *parent = 0);
bool Parse(const QString& xmlPWPath,const QString& xmlZWPath);
bool GoPath();
private:
bool child(QXmlStreamReader &reader);
bool setCurrentHashTable(QHash<QString,BasicElementInfo *> *t);
bool parse(const QString& xmlPath);
QHash<QString,BasicElementInfo *> eleHT;
QHash<QString,BasicElementInfo *> mainStationHT;//记录主站的元素
NodeToTerminal nodeToTerminal;
QHash<QString,BasicElementInfo *> *currentHT;
signals:
public slots:
};
#endif // ELEMENTHASHTABLE_H