@@ -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();
@@ -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";
@@ -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();
@@ -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:
@@ -30,11 +30,11 @@ void TDengineSubscriber::enqueue(const QString &key, const QString &val)
mutex.unlock();*/
-void TDengineSubscriber::Run()
+void TDengineSubscriber::Run(const ModuleInfo& mi)
tdengine = new TDengineClient();
- tdengine->subscribe(REDISTOPIC, fnRedisCallback, this);
+ tdengine->subscribe(mi.Topic.c_str(), fnRedisCallback, this);
tdengine->start();
@@ -16,7 +16,7 @@ public:
TDengineSubscriber();
~TDengineSubscriber();
@@ -38,6 +38,7 @@ struct ModuleInfo
std::string ClassName; // 组件的 类名
std::string Description; // 描述
std::string Version; // 版本
+ std::string Topic;
};
struct DeviceInfo
@@ -3,14 +3,14 @@
#include <QtCore/QLibrary>
#include <QObject>
#include <QThread>
-
+#include "Define.h"
class Publisher : public QObject{
Q_OBJECT
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&);