#pragma once //#include "MWareInterface.h" #include "taos.h" #include #include #include "libaray_symbols.h" #include #include class TDENGINECLIENT_EXPORT TDengineClient : public QObject { Q_OBJECT public: explicit TDengineClient(QObject *parent = 0); TDengineClient(QString password, std::function callback) : password(std::move(password)), callback(std::move(callback)) {} ~TDengineClient(); void exec(QString sql); public: int32_t msgProcess(TAOS_RES* msg); //消息处理 tmq_t* buildConsumer(); //构建消费者 tmq_list_t* buildTopicList(); //构建主题 void topicLoop(); //轮询主题 signals: public slots: private: QString host = "192.168.9.6"; uint16_t port = 6030; QString user = "root"; QString dbName = "lanpengdb"; QString password = "x=gheLw7QMAD4zjQh3d9"; TAOS* pConn = NULL; std::function callback; //TAOS* pConn = NULL; //EventSubInterface* g_pSubCB; // 订阅回调 std::list topicList; void * usrData; QFuture future; public: //void Setup(tagSetup ts); void Setup(const char* host, const char* user, const char* passwd, uint16_t port); void subscribe(QString ch, std::function fn, void* usrdata); // 订阅 void psubscribe(QString ch, std::function fn, void*usrdata); // 订阅:模式匹配 void start(); };