#include <FileBuffer.h>
Inheritance diagram for DybDaq::FileBuffer:
Public Types | |
typedef std::pair< const char *, unsigned int > | OutputBuffer |
typedef std::vector< OutputBuffer > | OutputBufferList |
typedef std::vector< ByteInspector * > | Bytes |
typedef std::vector< BitsInspector * > | Bits |
Public Member Functions | |
virtual | ~FileBuffer () |
Destroy this instance of the class. | |
const FileTraits & | fileTraits () const |
Returns the FileTraits instance used to parse this object's buffer. | |
virtual bool | isMarked (unsigned int marker) const =0 |
Returns true if this object contains the specified marker. | |
unsigned int | marker () const |
Returns the marker for this FileBuffer. | |
unsigned int | size () const |
Returns the length of this record in 4-byte words. | |
virtual unsigned int | bufferSize () const |
Returns the size, in 4-bytes,, of this object's contents in the buffer. | |
bool | hasDaqTraits () const |
virtual const DaqTraits & | daqTraits () const |
virtual unsigned int | gather (OutputBufferList &outputBuffers) const |
virtual unsigned int | inspect (DaqBuffer::Bytes &inspectors) const |
Static Public Attributes | |
static const unsigned int | kBytesInInt |
static const unsigned int | kUndefinedFormatComponent |
Protected Member Functions | |
FileBuffer (char *buffer, const FileTraits &traits, const unsigned int marker) | |
Creates an instance of this class. | |
FileBuffer (const ByteBuffer &byteBuffer, const FileTraits &traits) | |
Creates an instance of this class. | |
void | setMarker (const unsigned int marker) |
Sets the marker for this FileBuffer. | |
void | setSize (const unsigned int size) |
Sets the size, in 4-bytes,, of this object's contents in the buffer. | |
const char * | buffer () const |
char * | buffer () |
bool | hasByteBuffer () const |
const ByteBuffer & | byteBuffer () const |
unsigned int | fillInspectors (DaqBuffer::Bytes &inspectors, unsigned int component, unsigned int cursor) const |
virtual bool | readBool (const unsigned int field) const |
virtual int | readInt (const unsigned int field) const |
virtual unsigned char | readUnsignedChar (const unsigned int field) const |
virtual unsigned int | readUnsignedInt (const unsigned int field) const |
virtual void | writeField (const bool value, const unsigned int field) |
virtual void | writeField (const int value, const unsigned int field) |
virtual void | writeField (const unsigned int value, const unsigned int field) |
virtual unsigned int | formatComponent () const |
Private Member Functions | |
FileBuffer () | |
Suppress default. | |
FileBuffer (FileBuffer &rhs) | |
Suppress default. | |
FileBuffer & | operator= (FileBuffer &rhs) |
Suppress default. |
Definition at line 20 of file FileBuffer.h.
FileBuffer::~FileBuffer | ( | ) | [virtual] |
FileBuffer::FileBuffer | ( | char * | buffer, | |
const FileTraits & | traits, | |||
const unsigned int | marker | |||
) | [protected] |
Creates an instance of this class.
Definition at line 19 of file FileBuffer.cc.
00021 : 00022 DaqBuffer(buffer, 00023 traits, 00024 traits.recordSize(marker)) { 00025 setMarker(traits.marker(marker)); 00026 setSize(traits.recordSize(marker)); 00027 }
FileBuffer::FileBuffer | ( | const ByteBuffer & | byteBuffer, | |
const FileTraits & | traits | |||
) | [protected] |
Creates an instance of this class.
Definition at line 30 of file FileBuffer.cc.
00031 : 00032 DaqBuffer(byteBuffer, 00033 traits) { 00034 byteBuffer.position(byteBuffer.position() + (size() * kBytesInInt)); 00035 }
DybDaq::FileBuffer::FileBuffer | ( | ) | [private] |
Suppress default.
DybDaq::FileBuffer::FileBuffer | ( | FileBuffer & | rhs | ) | [private] |
Suppress default.
const FileTraits & FileBuffer::fileTraits | ( | ) | const |
Returns the FileTraits instance used to parse this object's buffer.
Definition at line 40 of file FileBuffer.cc.
00040 { 00041 return dynamic_cast<const FileTraits&>(daqTraits()); 00042 }
virtual bool DybDaq::FileBuffer::isMarked | ( | unsigned int | marker | ) | const [pure virtual] |
Returns true if this object contains the specified marker.
Implemented in DybDaq::CalibrationParametersRecord, DybDaq::DataSeparatorRecord, DybDaq::FileEndRecord, DybDaq::FileNameStrings, DybDaq::FileStartRecord, DybDaq::MetadataStrings, and DybDaq::RunParametersRecord.
unsigned int FileBuffer::marker | ( | ) | const |
Returns the marker for this FileBuffer.
Definition at line 44 of file FileBuffer.cc.
00044 { 00045 return readUnsignedInt(FileTraits::kMarker); 00046 }
unsigned int FileBuffer::size | ( | ) | const |
Returns the length of this record in 4-byte words.
Definition at line 48 of file FileBuffer.cc.
00048 { 00049 return readUnsignedInt(FileTraits::kRecordSize); 00050 }
unsigned int FileBuffer::bufferSize | ( | ) | const [virtual] |
Returns the size, in 4-bytes,, of this object's contents in the buffer.
Implements DybDaq::DaqBuffer.
Definition at line 52 of file FileBuffer.cc.
00052 { 00053 return size(); 00054 }
void FileBuffer::setMarker | ( | const unsigned int | marker | ) | [protected] |
Sets the marker for this FileBuffer.
Definition at line 56 of file FileBuffer.cc.
00056 { 00057 writeField(marker, 00058 FileTraits::kMarker); 00059 }
void FileBuffer::setSize | ( | const unsigned int | size | ) | [protected] |
Sets the size, in 4-bytes,, of this object's contents in the buffer.
Definition at line 61 of file FileBuffer.cc.
00061 { 00062 writeField(size, 00063 FileTraits::kRecordSize); 00064 }
FileBuffer& DybDaq::FileBuffer::operator= | ( | FileBuffer & | rhs | ) | [private] |
Suppress default.