/users/dtb26/GITROOT/vetsim/vs-core/include/vetprot.h File Reference

This file implements a command structure in support of the vet serial specification. However, while these structures are currently intended for use over RS232 it is being implemented as an abstract "packet delivery" structure which should work fine over any transport capable of delivering serialized ascii data. See the protocol definition documentation for details. More...

#include "excepts.h"
#include <math.h>
#include <string.h>
#include <sstream>
#include <queue>
#include "messaging.h"

Go to the source code of this file.

Namespaces

namespace  cornelluniversity
namespace  vetserial
namespace  cornelluniversity::vetserial

Classes

class  cornelluniversity::vetserial::base_command
 A pure virtual abstraction which serves as the basis of the vet serial protocol command structure. This handles packet management, dissecting incoming packets or creating new ones as needed. How the packets are assembled is determined in the pure virtual function execute() which must be over-ridden by any class inheriting from base_command. More...
class  cornelluniversity::vetserial::control_request
 Implements a control (or header-only) command. Provides the interface required for minimal functionality required to manipulate and generate a header. More...
class  cornelluniversity::vetserial::status_request
 Implements a control command soliciting a status check from the remote machine. More...
class  cornelluniversity::vetserial::status_response
 Implements a control command responding to another machine's request for a status check. This object can be used to create new responses or to receive responses. More...
class  cornelluniversity::vetserial::mp3_play_request
 Implements a request to initiate the playing of an MP3 device on the remote device. More...
class  cornelluniversity::vetserial::mp3_stop_request
 Implements a request to to stop the playing of a track that is currently in playback on the remote device. More...
class  cornelluniversity::vetserial::pubsub_message
 For use with the messaging API. The command acts as a proxy, blindly (de)serializing messages to be transported across the wire. More...
class  cornelluniversity::vetserial::cpr_compression_state
 device to pc : chest compression stat notification More...

Defines

#define NULLPTR   0

Typedefs

typedef char int8_
typedef unsigned char uint8_
typedef short int16_
typedef unsigned short uint16_
typedef int int32_
typedef unsigned int uint32_
typedef int int64_
typedef unsigned int uint64_
typedef enum cornelluniversity::vetserial::STATUS_TYPE cornelluniversity::vetserial::status_t
typedef enum cornelluniversity::vetserial::COMMAND_ID cornelluniversity::vetserial::cmnd_id
typedef enum cornelluniversity::vetserial::ERROR_CODE cornelluniversity::vetserial::err_code
typedef enum cornelluniversity::vetserial::FLAG_TYPE cornelluniversity::vetserial::flag_t

Enumerations

enum  cornelluniversity::vetserial::STATUS_TYPE { cornelluniversity::vetserial::STATUS_ERROR = 0x10, cornelluniversity::vetserial::STATUS_READY = 0x20, cornelluniversity::vetserial::STATUS_BUSY = 0x40 }
enum  cornelluniversity::vetserial::COMMAND_ID {
  cornelluniversity::vetserial::CMD_CNTRL = 0x00, cornelluniversity::vetserial::CMD_REQSTAT = 0x01, cornelluniversity::vetserial::CMD_RSPSTAT = 0x02, cornelluniversity::vetserial::CMD_PLAY_MP3 = 0x03,
  cornelluniversity::vetserial::CMD_STOP_MP3 = 0x04, cornelluniversity::vetserial::CMD_MSG_PRXY = 0x05, cornelluniversity::vetserial::CMD_CPR_CMPR = 0x06, cornelluniversity::vetserial::CMD_MAXCMD = 0xFF
}
enum  cornelluniversity::vetserial::ERROR_CODE {
  cornelluniversity::vetserial::E_NOERROR = 0x00, cornelluniversity::vetserial::E_DATAOOB = 0x01, cornelluniversity::vetserial::E_NULLPTR = 0x02, cornelluniversity::vetserial::E_CHKSUM = 0x03,
  cornelluniversity::vetserial::E_NONPROTO = 0xFE, cornelluniversity::vetserial::E_UNKNOWN = 0xFF
}
enum  cornelluniversity::vetserial::FLAG_TYPE {
  cornelluniversity::vetserial::FLAG_REQ = 0x01, cornelluniversity::vetserial::FLAG_ACK = 0x02, cornelluniversity::vetserial::FLAG_NAK = 0x04, cornelluniversity::vetserial::FLAG_DATA = 0x08,
  cornelluniversity::vetserial::FLAG_ERR = 0x10, cornelluniversity::vetserial::FLAG_RDY = 0x20, cornelluniversity::vetserial::FLAG_BUSY = 0x40, cornelluniversity::vetserial::FLAG_RESRVD = 0x80
}


Detailed Description

This file implements a command structure in support of the vet serial specification. However, while these structures are currently intended for use over RS232 it is being implemented as an abstract "packet delivery" structure which should work fine over any transport capable of delivering serialized ascii data. See the protocol definition documentation for details.


Define Documentation

#define NULLPTR   0

reliable NULL symbolic


Typedef Documentation

typedef short int16_

convenience type representing 16-bit wide integers

typedef int int32_

convenience type representing 32-bit wide integers

typedef int int64_

convenience type representing 64-bit wide integers

typedef char int8_

convenience type representing 8-bit wide integers

typedef unsigned short uint16_

convenience type representing 16-bit wide unsigned integers

typedef unsigned int uint32_

convenience type representing 32-bit wide unsigned integers

typedef unsigned int uint64_

convenience type representing 64-bit wide unsigned integers

typedef unsigned char uint8_

convenience type representing 8-bit wide unsigned integers


Generated on Wed Nov 14 12:01:02 2012 for VetSim Applications by  doxygen 1.4.7