DataManager.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #include "DataManager.h"
  2. #include "Define.h"
  3. #include "DataManagerProxy.h"
  4. #include "DataSubscribe.h"
  5. #include "DataConsumer.h"
  6. DataManager::DataManager() {
  7. }
  8. // void DataManager::OnData(std::string key, QVariant val)
  9. // {
  10. // //consumerMap[key]->OnData(key, val);
  11. // }
  12. void DataManager::Startup()
  13. {
  14. Config config;
  15. DataManagerProxy dmp;
  16. auto lstModules = dmp.loadModuleInfos(config.serverId, config.appName);
  17. for(auto itr = lstModules.consumers.begin(); itr != lstModules.consumers.end(); ++itr){
  18. QScopedPointer<DataConsumer> consumer {new DataConsumer()};
  19. //DataConsumer * consumer = new DataConsumer();
  20. ConsumerInfo ci = *itr;
  21. consumer->Setup(ci);
  22. consumerMap.insert(QString(itr->name.c_str()),consumer.get());
  23. }
  24. for(auto itr = lstModules.modules.begin();itr!= lstModules.modules.end();++itr)
  25. {
  26. ModuleInfo mi = *itr;
  27. QScopedPointer<DataSubscribe> subscriber(new DataSubscribe());
  28. subscriber->regConsumer(consumerMap[itr->AssemblyName.c_str()]);
  29. subscriber->Setup(mi);
  30. subscriber->Run();
  31. }
  32. }