DataSubscribe.cpp 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. #include "DataSubscribe.h"
  2. #include <QVariant>
  3. #include "LibraryLoader.h"
  4. #include "Publisher.h"
  5. #include <QDebug>
  6. DataSubscribe::DataSubscribe()
  7. {
  8. //shares = new SharedData();
  9. }
  10. DataSubscribe::~DataSubscribe()
  11. {
  12. //delete shares;
  13. }
  14. void DataSubscribe::Setup(ModuleInfo &mi)
  15. {
  16. std::string assemblyName = mi.AssemblyName;
  17. std::string className = mi.ClassName;
  18. dataName = className;
  19. Publisher* pModule = nullptr;// = (BaseModule)Assembly.LoadFile(Path.GetFullPath(@".\" + assemblyName)).CreateInstance(className);
  20. pModule = LibraryLoader::load<Publisher>(assemblyName);
  21. if( pModule == nullptr )
  22. {
  23. // qCritical() << LOG_HEADER << " load " << szPlugin.c_str() << " failed.";
  24. return;
  25. }
  26. if( pModule == nullptr )
  27. {
  28. qCritical() << __FILE__ << __LINE__ << " " << assemblyName.c_str() << " load failed.";
  29. return;
  30. }
  31. {
  32. Publisher* runable = dynamic_cast<Publisher*>(pModule);
  33. //runable->shares(shares);
  34. connect(runable, SIGNAL(pubData(const QString& ,const QString& ,const QVariant& )), dataConsumer, SLOT(OnData(const QString& ,const QString& ,const QVariant&)));
  35. runable->Run();
  36. }
  37. }
  38. std::string DataSubscribe::getTypeList()
  39. {
  40. return "DataStorage::RunnableModule";
  41. }
  42. // void DataSubscribe::setLoader(QLibrary *)
  43. // {
  44. // }
  45. void DataSubscribe::regConsumer(DataConsumer *dc)
  46. {
  47. dataConsumer = dc;
  48. qDebug() << "register consumer";
  49. }