#include "DataManager.h" #include "Define.h" #include "DataManagerProxy.h" #include "DataSubscribe.h" #include "DataConsumer.h" DataManager::DataManager() { } // void DataManager::OnData(std::string key, QVariant val) // { // //consumerMap[key]->OnData(key, val); // } void DataManager::Startup() { Config config; DataManagerProxy dmp; auto lstModules = dmp.loadModuleInfos(config.serverId, config.appName); for(auto itr = lstModules.consumers.begin(); itr != lstModules.consumers.end(); ++itr){ QScopedPointer consumer {new DataConsumer()}; //DataConsumer * consumer = new DataConsumer(); ConsumerInfo ci = *itr; consumer->Setup(ci); consumerMap.insert(QString(itr->name.c_str()),consumer.get()); } for(auto itr = lstModules.modules.begin();itr!= lstModules.modules.end();++itr) { ModuleInfo mi = *itr; QScopedPointer subscriber(new DataSubscribe()); subscriber->regConsumer(consumerMap[itr->AssemblyName.c_str()]); subscriber->Setup(mi); subscriber->Run(); } }