71 lines
2.3 KiB
C++
71 lines
2.3 KiB
C++
#ifndef __base_Logic_H__
|
|
#define __base_Logic_H__
|
|
|
|
#include <iostream>
|
|
#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 <QJsonParseError>
|
|
#include "qimage.h"
|
|
#include<qtimer.h>
|
|
#include <opencv2/opencv.hpp>
|
|
#include <opencv2/core.hpp>
|
|
#include <opencv2/imgproc.hpp>
|
|
|
|
//无法用信号槽传递图像?
|
|
//返回图片的结构体
|
|
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<cv::Mat> 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
|