Initial commit of files
This commit is contained in:
92
daemons/seriald/SerialDaemon.h
Normal file
92
daemons/seriald/SerialDaemon.h
Normal file
@ -0,0 +1,92 @@
|
||||
//
|
||||
// Serial Daemon
|
||||
// Neal Probert
|
||||
//
|
||||
|
||||
/* prevent multiple inclusions */
|
||||
#ifndef __SerialDaemon__
|
||||
#define __SerialDaemon__
|
||||
|
||||
/* includes *****************************************************************/
|
||||
|
||||
#include "bzlib.h"
|
||||
|
||||
#include "TcpDaemon.h"
|
||||
#include "TcpClient.h"
|
||||
#include "UdpClient.h"
|
||||
#include "UdpCaster.h"
|
||||
|
||||
#include "LogData.h"
|
||||
|
||||
/* defines ******************************************************************/
|
||||
|
||||
#define SERIALD_NAME "seriald"
|
||||
#define SERIALD_SERVICE "seriald"
|
||||
#define SERIALD_PORT "2942"
|
||||
|
||||
/* macros *******************************************************************/
|
||||
|
||||
/* structs & typedefs *******************************************************/
|
||||
|
||||
/* c class definitions ******************************************************/
|
||||
|
||||
//
|
||||
// Uses the Peak Systems CAN Linux driver and Nissan CAN data
|
||||
//
|
||||
class SerialDaemon : public TcpDaemon {
|
||||
// public data
|
||||
public:
|
||||
|
||||
// private data
|
||||
private:
|
||||
// FDs
|
||||
int m_SerialIn;
|
||||
int m_RemoteIn;
|
||||
int m_DgramIn;
|
||||
|
||||
// TCP client
|
||||
TcpClient Client;
|
||||
|
||||
// UDP listen
|
||||
UdpClient Dgram;
|
||||
|
||||
// UDP broadcast
|
||||
UdpCaster Bcast;
|
||||
|
||||
// misc
|
||||
int m_framed;
|
||||
char m_Framing[8];
|
||||
|
||||
// private methods
|
||||
|
||||
// static data
|
||||
|
||||
// public methods
|
||||
public:
|
||||
// constructors
|
||||
SerialDaemon();
|
||||
|
||||
// destructor
|
||||
virtual ~SerialDaemon();
|
||||
|
||||
// virtual functions
|
||||
int ServerSocket(void);
|
||||
int ClientIn( int sock, const char *buf, int n );
|
||||
void ClientCast( const char *buf, int n );
|
||||
|
||||
// public methods
|
||||
int SerialOpen( const char *dev, int baud );
|
||||
int TcpConnect( const char *uri );
|
||||
|
||||
int UdpBroadcast( const char *uri );
|
||||
int UdpListen( const char *uri );
|
||||
|
||||
void SetFrame( const char *frame, int n=0 );
|
||||
|
||||
// static methods
|
||||
|
||||
// private methods
|
||||
private:
|
||||
};
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user