50 lines
893 B
C++
50 lines
893 B
C++
#ifndef PROT_M4_H
|
|
#define PROT_M4_H
|
|
|
|
#include "QObject"
|
|
#include "base/base.h"
|
|
#include "QList"
|
|
#include "interface/codec.h"
|
|
#include "interface/interface.h"
|
|
#include "base/mycfg.h"
|
|
#include "QThread"
|
|
|
|
using namespace std;
|
|
using namespace std::placeholders;
|
|
|
|
typedef std::function<void(myarray data)> prot_m4_cb;
|
|
|
|
typedef struct
|
|
{
|
|
QList<prot_m4_cb> funs;
|
|
myarray cmd;
|
|
} HandleM4_def;
|
|
|
|
class prot_m4 : public QObject
|
|
{
|
|
public:
|
|
prot_m4() { if_ = nullptr;wait=0; }
|
|
~prot_m4() {}
|
|
void init();
|
|
bool set_irq_fun(prot_m4_cb fun, myarray data);
|
|
bool del_irq_fun(prot_m4_cb fun, myarray data);
|
|
public slots:
|
|
void send_data_slot(myarray data);
|
|
|
|
protected:
|
|
bool exe_cb_fun(myarray data);
|
|
|
|
protected:
|
|
InterFace *if_;
|
|
QList<HandleM4_def> funs;
|
|
Codec *codec_;
|
|
QThread thread;
|
|
myarray recv_data;
|
|
int wait;
|
|
QList<myarray> send_list;
|
|
};
|
|
|
|
prot_m4 *protM4();
|
|
|
|
#endif // PROT_M4_H
|