DataManager.cpp 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #include "DataManager.h"
  2. #include "Define.h"
  3. #include "DataManagerProxy.h"
  4. #include "DataSubscribe.h"
  5. #include "DataConsumer.h"
  6. #include <QDebug>
  7. DataManager::DataManager() {
  8. }
  9. DataManager::~DataManager()
  10. {
  11. /*for(auto it = consumerMap.begin(); it != consumerMap.end(); ++it){
  12. delete it.value();
  13. }*/
  14. }
  15. // void DataManager::OnData(std::string key, QVariant val)
  16. // {
  17. // //consumerMap[key]->OnData(key, val);
  18. // }
  19. void DataManager::Startup(Config& config)
  20. {
  21. //Config config;
  22. DataManagerProxy dmp;
  23. auto lstModules = dmp.loadModuleInfos(config.AppId.toStdString().c_str(), config.AppName.toStdString().c_str());
  24. for(auto itr = lstModules.consumers.begin(); itr != lstModules.consumers.end(); ++itr){
  25. //ScopedPointer<DataConsumer> consumer {new DataConsumer()};
  26. DataConsumer * consumer = new DataConsumer();
  27. ConsumerInfo ci = *itr;
  28. consumer->Setup(ci);
  29. consumerMap.insert(QString(itr->SubscribeName.c_str()),consumer);
  30. }
  31. for(auto itr = lstModules.modules.begin();itr!= lstModules.modules.end();++itr)
  32. {
  33. ModuleInfo mi = *itr;
  34. if(consumerMap.contains(itr->ClassName.c_str())){
  35. //QScopedPointer<DataSubscribe> subscriber(new DataSubscribe());
  36. DataSubscribe* subscriber = new DataSubscribe();
  37. subscriber->regConsumer(consumerMap[itr->ClassName.c_str()]);
  38. subscriber->Setup(mi);
  39. //subscriber->Run();
  40. subscribers.append(subscriber);
  41. }
  42. }
  43. }