DataConsumer.cpp 1.5 KB

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