#ifndef __base_Logic_H__ #define __base_Logic_H__ #include #include "qobject.h" #include "qapplication.h" #include "qjsonobject.h" #include "qjsonarray.h" #include "qjsondocument.h" #include "QLibrary.h" #include "QMetaType.h" #include "QDateTime.h" #include "QThread.h" #include "QMutex.h" #include "QDebug.h" #include "QQueue.h" #include "QMap.h" #include "QDir.h" #include #include "qimage.h" #include #include #include #include //无法用信号槽传递图像? //返回图片的结构体 struct sendImgStruct { cv::Mat send_Mat; //返回的图像 QString cameraKey_index; //关键字_序号 }; class base_Logic :public QObject { Q_OBJECT public: bool init_flag; //是否初始化,false,true bool status = true; //相机状态(判断相机是否断开连接) std::string paras; //传输数据 std::vector m_mat; //传输图片 std::string moduleName=""; //模块名称 QQueue< sendImgStruct> queue_sendImgStruct;//图像及数据列表 public: base_Logic(){} virtual ~base_Logic(){} virtual bool checkJsonObject(QJsonObject, QString&) { return true; } virtual bool setJsonObject(QJsonObject) { return true; } virtual bool initTask() { return true; } virtual bool startTask() { return true; } virtual bool stopTask() { return true; } virtual bool exitTask() { return true; } virtual bool restartTask() { return true; } virtual bool get_sendImgStruct(QQueue< sendImgStruct>&){ return true; } signals: virtual void Logic_sendImage(QString, cv::Mat); virtual void Logic_sendTcpStatus(bool); virtual void Logic_writeData(QString, QString, QString, QByteArray, QString); virtual void Logic_cameraDisconnect(QString msg, bool status); virtual void Logic_CommunicationDisconnect(QString msg, bool status); private slots: virtual void processtask_sendImage(QString, cv::Mat) { ; } virtual void processtask_sendTcpStatus(bool) { ; } virtual void processtask_writeData(QString, QString, QString, QByteArray, QString) { ; } virtual void processtask_cameraDisconnect(QString msg, bool status) { ; } virtual void processtask_CommunicationDisconnect(QString msg, bool status) { ; } }; #endif