DataManager.cpp 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  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. // void DataManager::OnData(std::string key, QVariant val)
  10. // {
  11. // //consumerMap[key]->OnData(key, val);
  12. // }
  13. void DataManager::Startup()
  14. {
  15. Config config;
  16. DataManagerProxy dmp;
  17. auto lstModules = dmp.loadModuleInfos(config.serverId, config.appName);
  18. for(auto itr = lstModules.consumers.begin(); itr != lstModules.consumers.end(); ++itr){
  19. //ScopedPointer<DataConsumer> consumer {new DataConsumer()};
  20. DataConsumer * consumer = new DataConsumer();
  21. ConsumerInfo ci = *itr;
  22. consumer->Setup(ci);
  23. consumerMap.insert(QString(itr->SubscribeName.c_str()),consumer);
  24. }
  25. for(auto itr = lstModules.modules.begin();itr!= lstModules.modules.end();++itr)
  26. {
  27. ModuleInfo mi = *itr;
  28. if(consumerMap.contains(itr->ClassName.c_str())){
  29. //QScopedPointer<DataSubscribe> subscriber(new DataSubscribe());
  30. DataSubscribe* subscriber = new DataSubscribe();
  31. subscriber->regConsumer(consumerMap[itr->ClassName.c_str()]);
  32. subscriber->Setup(mi);
  33. //subscriber->Run();
  34. subscribers.append(subscriber);
  35. }
  36. }
  37. }