Files
RoboGlue_QT/libURcom/clientMessage.h
2019-10-21 11:37:31 +02:00

183 lines
3.6 KiB
C++

/*
* clientMessage.h
*
* Created on: Jan 16, 2019
* Author: emanuele
*/
#ifndef CLIENTMESSAGE_H_
#define CLIENTMESSAGE_H_
#include "packagetypes.h"
#include <string>
#include <arpa/inet.h>
#include <boost/endian/conversion.hpp>
namespace subpackage {
class clientSubpackage {
public:
clientSubpackage();
virtual ~clientSubpackage();
unsigned char* dataIn;
clientData_t* dataOut;
virtual uint32_t parse();
void copyString(std::string** out, unsigned char** in, char len);
uint32_t getUInt32(unsigned char** dataPointer);
uint64_t getUInt64(unsigned char** dataPointer);
int32_t getInt32(unsigned char** dataPointer);
double getDouble(unsigned char** dataPointer);
float getFloat(unsigned char** dataPointer);
char getChar(unsigned char** dataPointer);
unsigned char getUChar(unsigned char** dataPointer);
};
class robotModeSub: public clientSubpackage {
public:
robotModeSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~robotModeSub();
uint32_t parse();
};
class jointDataSub: public clientSubpackage {
public:
jointDataSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~jointDataSub();
uint32_t parse();
};
class cartesianInfoSub: public clientSubpackage {
public:
cartesianInfoSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~cartesianInfoSub();
uint32_t parse();
};
class masterBoardSub: public clientSubpackage {
public:
masterBoardSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~masterBoardSub();
uint32_t parse();
};
class toolDataSub: public clientSubpackage {
public:
toolDataSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~toolDataSub();
uint32_t parse();
};
class kineInfoSub: public clientSubpackage {
public:
kineInfoSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~kineInfoSub();
uint32_t parse();
};
class configurationSub: public clientSubpackage {
public:
configurationSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~configurationSub();
uint32_t parse();
};
class forceModeSub: public clientSubpackage {
public:
forceModeSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~forceModeSub();
uint32_t parse();
};
class additionalInfoSub: public clientSubpackage {
public:
additionalInfoSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~additionalInfoSub();
uint32_t parse();
};
class calibrationSub: public clientSubpackage {
public:
calibrationSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~calibrationSub();
uint32_t parse();
};
class toolComSub: public clientSubpackage {
public:
toolComSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~toolComSub();
uint32_t parse();
};
class toolModeSub: public clientSubpackage {
public:
toolModeSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout;
};
virtual ~toolModeSub();
uint32_t parse();
};
class versionSub: public clientSubpackage {
public:
versionSub(unsigned char* din, clientData_t* dout) {
dataIn=din;
dataOut=dout; };
virtual ~versionSub();
uint32_t parse();
};
} /* namespace clientmessage */
#endif /* CLIENTMESSAGE_H_ */