diff --git a/testHasttable/loadmapping.cpp b/testHasttable/loadmapping.cpp index e0725fd..0f340d6 100644 --- a/testHasttable/loadmapping.cpp +++ b/testHasttable/loadmapping.cpp @@ -1,13 +1,23 @@ #include "loadmapping.h" #include -QHash > *LoadMapping::ht=NULL; +QHash > > *LoadMapping::loads=NULL; +QHash > *LoadMapping::loadsToLoadInfo=NULL; LoadMapping::LoadMapping() { - if(!LoadMapping::ht) +// if(!LoadMapping::ht) +// { +// LoadMapping::ht=new QHash >; +// } + if(!LoadMapping::loads) { - LoadMapping::ht=new QHash >; + LoadMapping::loads=new QHash > >; } + if(!LoadMapping::loadsToLoadInfo) + { + LoadMapping::loadsToLoadInfo=new QHash >; + } + } @@ -16,10 +26,15 @@ LoadMapping::~LoadMapping() } +bool LoadMapping::broadcastUpdateByTime(const QTime& time) +{ +// this->ht +} + bool LoadMapping::load(const QString &loadDir,const QString &matchdDir,const QString &exceptionFile) { - if(LoadMapping::ht->keys().length()>0) + if(LoadMapping::loadsToLoadInfo->keys().length()>0) { return true;//只执行一次 } @@ -81,12 +96,12 @@ bool LoadMapping::readLoads(const QString &dir) std::cout<<"ignore "<loadsToLoadInfo.contains(fileName)) + if(!this->loadsToLoadInfo->contains(fileName)) { std::cout< loadInfo=this->loadsToLoadInfo[fileName]; + QSharedPointer loadInfo=(*this->loadsToLoadInfo)[fileName]; loadInfo->setLoadPath(filePath); } @@ -136,9 +151,9 @@ bool LoadMapping::readMatch(const QString& dir) QSharedPointer t(new LoadInfo); t->setLoadName(sep.at(i)); loads.push_back(t); - this->loadsToLoadInfo[sep.at(i)]=t; + (*this->loadsToLoadInfo)[sep.at(i)]=t; } - this->loads[SFDid]=loads; + (*this->loads)[SFDid]=loads; } file.close(); diff --git a/testHasttable/loadmapping.h b/testHasttable/loadmapping.h index e82a7ca..2907c62 100644 --- a/testHasttable/loadmapping.h +++ b/testHasttable/loadmapping.h @@ -11,6 +11,8 @@ #include #include #include +#include +#include #include "recursedir.h" #include "loadinfo.h" @@ -21,6 +23,7 @@ class LoadMapping public: LoadMapping(); ~LoadMapping(); + bool broadcastUpdateByTime(const QTime& time); bool load(const QString& loadDir, const QString &matchdDir, const QString &exceptionFile); bool readLoads(const QString& dir); bool readMatch(const QString& dir); @@ -30,14 +33,16 @@ private: public: ~CG() { - if (LoadMapping::ht) - delete LoadMapping::ht; + if (LoadMapping::loadsToLoadInfo) + delete LoadMapping::loadsToLoadInfo; + if (LoadMapping::loads) + delete LoadMapping::loads; } }; static CG Garbo; // 定义一个静态成员,在程序结束时,系统会调用它的析构函数 - static QHash > *ht; - QHash > > loads; - QHash > loadsToLoadInfo; +// static QHash > *ht;// + static QHash > > *loads;//保存的是一个Substation下面的所有负荷信息 + static QHash > *loadsToLoadInfo; LoadMatchException loadMatchException; };