Files

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