Public Member Functions | Protected Member Functions
TimeMasterBuffer Class Reference

Brief description of class still missing. More...

#include <TimeMasterBuffer.h>

Inheritance diagram for TimeMasterBuffer:
GpCoreTools::DynamicBuffer

List of all members.

Public Member Functions

 TimeMasterBuffer (int fileDescriptor, UbxDevice *device)
 ~TimeMasterBuffer ()

Protected Member Functions

virtual int bytesAvailable (char *buffer, int bytesCount)

Detailed Description

Brief description of class still missing.

Full description of class still missing


Constructor & Destructor Documentation

TimeMasterBuffer::TimeMasterBuffer ( int  fileDescriptor,
UbxDevice device 
)

Description of constructor still missing

References TRACE.

  : DynamicBuffer(fileDescriptor)
{
  TRACE;
  _device=device;
}

Description of destructor still missing

References TRACE.

{
  TRACE;
}

Member Function Documentation

int TimeMasterBuffer::bytesAvailable ( char *  buffer,
int  bytesCount 
) [protected, virtual]

Implements GpCoreTools::DynamicBuffer.

References GpCoreTools::MessageRawHeader::isValid(), GpCoreTools::MessageRawHeader::lengthLittleEndian(), GpCoreTools::DynamicBuffer::read(), and TRACE.

{
  TRACE;
  // If less bytes are available, just wait for more data.
  int readBytes=MessageRawHeader::SynchronizationSize+
                MessageRawHeader::HeaderSize+
                MessageRawHeader::CheckSumSize;
  if(byteCount<readBytes) {
    return 0;
  }
  MessageRawHeader * hdr=reinterpret_cast<MessageRawHeader *>(buffer);
  if(!hdr->isValid()) {
    return 1;
  }
  unsigned short length=hdr->lengthLittleEndian();
  readBytes+=length;
  if(byteCount<readBytes) {
    return 0;
  }
  buffer+=MessageRawHeader::SynchronizationSize+MessageRawHeader::HeaderSize;
  char * payload=buffer;
  buffer+=length;
  if(hdr->isValid(*reinterpret_cast<const FletcherChecksum *>(buffer), payload, length)) {
    read(payload, length);
  }
  return readBytes;
}

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines