DataConsumer.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #include "DataConsumer.h"
  2. #include <QThread>
  3. #include <QDateTime>
  4. #include <QVariant>
  5. #include "LibraryLoader.h"
  6. #include "Client.h"
  7. DataConsumer::DataConsumer()
  8. {
  9. }
  10. DataConsumer::~DataConsumer()
  11. {
  12. }
  13. // void DataConsumer::run()
  14. // {
  15. // while(!isInterruptionRequested()){
  16. // qDebug() << __FILE__ << __FUNCTION__;
  17. // QThread::msleep(1000);
  18. // }
  19. // }
  20. void DataConsumer::Setup(ConsumerInfo &ci)
  21. {
  22. std::string assemblyName = ci.AssemblyName;
  23. // dataName = ci.Name;
  24. topicsMap = ci.topicsMap;
  25. Client* pModule = nullptr;
  26. // = (BaseModule)Assembly.LoadFile(Path.GetFullPath(@".\" + assemblyName)).CreateInstance(className);
  27. pModule = LibraryLoader::load<Client>(assemblyName);
  28. if( pModule == nullptr )
  29. {
  30. qCritical() << " load " << assemblyName.c_str() << " failed.";
  31. return;
  32. }
  33. if( pModule == nullptr )
  34. {
  35. qCritical() << __FILE__ << __LINE__ << " " << assemblyName.c_str() << " load failed.";
  36. return;
  37. }
  38. {
  39. //Client*
  40. runable = dynamic_cast<Client*>(pModule);
  41. runable->Run(ci);
  42. }
  43. }
  44. std::string DataConsumer::getTypeList()
  45. {
  46. return "DataStorage::RunnableModule";
  47. }
  48. // void DataConsumer::setLoader(QLibrary *)
  49. // {
  50. // }
  51. void DataConsumer::Run()
  52. {
  53. //start();
  54. }
  55. void DataConsumer::OnData(const QString&usr ,const QString& key,const QVariant&val)
  56. {
  57. qDebug() << __FILE__ <<__FUNCTION__<< usr << key << val ;
  58. runable->OnData(usr, key, val);
  59. }