Brief description of class still missing. More...
#include <MessageRawHeader.h>
Public Types | |
enum | { SynchronizationSize = 2, HeaderSize = 2, CheckSumSize = 2 } |
Public Member Functions | |
void | bigEndianValues () |
const char * | header () const |
bool | isValid () const |
bool | isValid (const FletcherChecksum &cksum, const char *payload=0, unsigned short payloadLength=0) const |
unsigned int | lengthBigEndian () const |
unsigned int | lengthLittleEndian () const |
void | littleEndianValues () |
MessageRawHeader () | |
MessageRawHeader (unsigned int length) | |
MessageRawHeader (const MessageRawHeader &o) | |
Protected Attributes | |
union { | |
char _bytes [HeaderSize] | |
struct { | |
unsigned short length | |
} _values | |
}; | |
unsigned char | _sync [2] |
Brief description of class still missing.
Full description of class still missing
anonymous enum |
{SynchronizationSize=2, HeaderSize=2, CheckSumSize=2};
GpCoreTools::MessageRawHeader::MessageRawHeader | ( | ) | [inline] |
{}
GpCoreTools::MessageRawHeader::MessageRawHeader | ( | unsigned int | length | ) | [inline] |
GpCoreTools::MessageRawHeader::MessageRawHeader | ( | const MessageRawHeader & | o | ) | [inline] |
void GpCoreTools::MessageRawHeader::bigEndianValues | ( | ) | [inline] |
References _bytes, and GpCoreTools::ByteOrder::swap().
{ #if BYTE_ORDER==LITTLE_ENDIAN ByteOrder::swap(_bytes[0], _bytes[1]); #endif }
const char* GpCoreTools::MessageRawHeader::header | ( | ) | const [inline] |
bool GpCoreTools::MessageRawHeader::isValid | ( | ) | const [inline] |
bool GpCoreTools::MessageRawHeader::isValid | ( | const FletcherChecksum & | cksum, |
const char * | payload = 0 , |
||
unsigned short | payloadLength = 0 |
||
) | const [inline] |
References GpCoreTools::FletcherChecksum::add(), header(), and HeaderSize.
{ FletcherChecksum mycs; mycs.add(reinterpret_cast<const char *>(header()), HeaderSize); if(payload) { mycs.add(payload, payloadLength); } return cksum==mycs; }
unsigned int GpCoreTools::MessageRawHeader::lengthBigEndian | ( | ) | const [inline] |
References GpCoreTools::ByteOrder::bigEndianToNative().
{return ByteOrder::bigEndianToNative(_values.length);}
unsigned int GpCoreTools::MessageRawHeader::lengthLittleEndian | ( | ) | const [inline] |
References GpCoreTools::ByteOrder::littleEndianToNative().
Referenced by TimeMasterBuffer::bytesAvailable(), CrystalfontzBuffer::bytesAvailable(), and TimeSlaveBuffer::bytesAvailable().
{return ByteOrder::littleEndianToNative(_values.length);}
void GpCoreTools::MessageRawHeader::littleEndianValues | ( | ) | [inline] |
References _bytes, and GpCoreTools::ByteOrder::swap().
Referenced by GpCoreTools::ScreenClient::write().
{ #if BYTE_ORDER==BIG_ENDIAN ByteOrder::swap(_bytes[0], _bytes[1]); #endif }
union { ... } [protected] |
Referenced by bigEndianValues(), and littleEndianValues().
unsigned char GpCoreTools::MessageRawHeader::_sync[2] [protected] |
Referenced by MessageRawHeader().
struct { ... } GpCoreTools::MessageRawHeader::_values |
Referenced by MessageRawHeader().
unsigned short GpCoreTools::MessageRawHeader::length |
Referenced by MessageRawHeader().