Explorar o código

update subscribe topic

ZenZ hai 1 ano
pai
achega
3e3d374f49

+ 1 - 0
DataManagerMain/DataManagerProxy.cpp

@@ -51,6 +51,7 @@ QList<DataManagerInfo> DataManagerProxy::loadModuleInfos(const Config& config)
             mi.AssemblyName = "plugins/TDengineSubscriber.dll";
             // mi.ClassName = "TDengineSubscriber";
             mi.Code = topic.toStdString();
+            mi.Topic = topic.toStdString();
             foreach (auto client, clients) {
                 ConsumerInfo ci;
                 ci.Name = client["Name"].toString().toStdString();

+ 1 - 2
DataManagerMain/DataSubscribe.cpp

@@ -38,7 +38,7 @@ void DataSubscribe::Setup(ModuleInfo &mi)
         for(auto it =  dataConsumerList.begin(); it != dataConsumerList.end(); it++){
             connect(runable, SIGNAL(pubData(const QString& ,const QString& ,const QVariant& )), *it, SLOT(OnData(const QString& ,const QString& ,const QVariant&)));
         }
-        runable->Run();
+        runable->Run(mi);
     }
 }
 
@@ -57,7 +57,6 @@ std::string DataSubscribe::getTypeList()
 void DataSubscribe::regConsumer(DataConsumer *dc)
 {
     dataConsumerList.append(dc);
-    qDebug() << "register consumer";
 }
 
 

+ 2 - 2
DataSubscribe/RedisSubscriber/RedisSubscriber.cpp

@@ -56,12 +56,12 @@ void RedisSubscriber::enqueue(const QString &key, const QString &val)
 
 }
 
-void RedisSubscriber::Run()
+void RedisSubscriber::Run(const ModuleInfo& mi)
 {
     //subscribe redis topic
     redis = new RedisClient();
     redis->start();
-    redis->subscribe(REDISTOPIC, fnRedisCallback, this);
+    redis->subscribe(mi.Topic.c_str(), fnRedisCallback, this);
     //start();
 }
 

+ 1 - 1
DataSubscribe/RedisSubscriber/RedisSubscriber.h

@@ -15,7 +15,7 @@ class REDISSUBSCRIBER_EXPORT RedisSubscriber : public Publisher
 public:
     RedisSubscriber();
     // virtual void shares(SharedData * share);
-    virtual void Run();
+    virtual void Run(const ModuleInfo& mi);
     virtual void setLoader(QLibrary*);
     void enqueue(const QString& key,const QString& val);
 protected:

+ 2 - 2
DataSubscribe/TDengineSubscriber/TDengineSubscriber.cpp

@@ -30,11 +30,11 @@ void TDengineSubscriber::enqueue(const QString &key, const QString &val)
     mutex.unlock();*/
 }
 
-void TDengineSubscriber::Run()
+void TDengineSubscriber::Run(const ModuleInfo& mi)
 {
     //subscribe redis topic
     tdengine = new TDengineClient();
-    tdengine->subscribe(REDISTOPIC, fnRedisCallback, this);
+    tdengine->subscribe(mi.Topic.c_str(), fnRedisCallback, this);
     tdengine->start();
     //start();
 }

+ 1 - 1
DataSubscribe/TDengineSubscriber/TDengineSubscriber.h

@@ -16,7 +16,7 @@ public:
     TDengineSubscriber();
     ~TDengineSubscriber();
     // virtual void shares(SharedData * share);
-    virtual void Run();
+    virtual void Run(const ModuleInfo& mi);
     virtual void setLoader(QLibrary*);
     void enqueue(const QString& key,const QString& val);
 protected:

+ 1 - 0
include/Define.h

@@ -38,6 +38,7 @@ struct ModuleInfo
     std::string ClassName;          // 组件的 类名
     std::string Description;        // 描述
     std::string Version;            // 版本
+    std::string Topic;
 };
 
 struct DeviceInfo

+ 2 - 2
include/Publisher.h

@@ -3,14 +3,14 @@
 #include <QtCore/QLibrary>
 #include <QObject>
 #include <QThread>
-
+#include "Define.h"
 class Publisher : public QObject{
     Q_OBJECT
 public:
     Publisher(){}
     virtual ~Publisher(){}
     // virtual void shares(SharedData * share) = 0;
-    virtual void Run() = 0;
+    virtual void Run(const ModuleInfo& mi) = 0;
     virtual void setLoader(QLibrary*) = 0;
 signals:
     void pubData(const QString& ,const QString& ,const QVariant&);