61 lines
958 B
C
61 lines
958 B
C
![]() |
#ifndef PROT_SLAVE_H
|
||
|
#define PROT_SLAVE_H
|
||
|
|
||
|
|
||
|
#include "QObject"
|
||
|
#include "base/base.h"
|
||
|
#include "QList"
|
||
|
#include "interface/codec.h"
|
||
|
#include "interface/interface.h"
|
||
|
#include "base/mycfg.h"
|
||
|
#include "QThread"
|
||
|
|
||
|
|
||
|
class HandleSlave:public QObject{
|
||
|
Q_OBJECT
|
||
|
public:
|
||
|
HandleSlave(){busy=0;}
|
||
|
virtual ~HandleSlave(){}
|
||
|
virtual int start(myarray data)=0;
|
||
|
virtual int dolater(int cmd,myarray data)=0;
|
||
|
int busy;
|
||
|
signals:
|
||
|
void send_data_signal(int addr,int cmd,myarray data);
|
||
|
};
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
|
||
|
class prot_slave:public QObject
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
public:
|
||
|
prot_slave(){if_=nullptr;codec_=nullptr;busy=0;addr=0;}
|
||
|
~prot_slave(){}
|
||
|
void init();
|
||
|
bool set_slave_handle(int addr,HandleSlave *handle);
|
||
|
int busy;
|
||
|
int addr;
|
||
|
protected slots:
|
||
|
void send_data_slot(int addr,int cmd,myarray data);
|
||
|
protected:
|
||
|
InterFace *if_;
|
||
|
Codec *codec_;
|
||
|
QList<HandleSlave *> slaves;
|
||
|
};
|
||
|
|
||
|
|
||
|
prot_slave *protSlave();
|
||
|
|
||
|
|
||
|
|
||
|
#endif // PROT_SLAVE_H
|