00001 #ifndef FILEREADOUTFORMAT_FILERECORD_H 00002 #define FILEREADOUTFORMAT_FILERECORD_H 00003 00004 /* 00005 * FileBuffer.h 00006 * FileReadoutFormat 00007 * 00008 * Created by Simon Patton on 7/18/10. 00009 * Copyright 2010 DayaBay Collaboration. All rights reserved. 00010 * 00011 */ 00012 namespace DybDaq { 00013 class FileTraits; 00014 } 00015 00016 #include "DaqReadoutFormat/DaqBuffer.h" 00017 00018 namespace DybDaq { 00019 00020 class FileBuffer : public DaqBuffer { 00021 00022 public: 00023 00027 virtual ~FileBuffer(); 00028 00032 const FileTraits& fileTraits() const; 00033 00037 virtual bool isMarked(unsigned int marker) const = 0; 00038 00042 unsigned int marker() const; 00043 00047 unsigned int size() const; 00048 00052 virtual unsigned int bufferSize() const; 00053 00054 protected: 00055 00059 FileBuffer(char* buffer, 00060 const FileTraits& traits, 00061 const unsigned int marker); 00062 00066 FileBuffer(const ByteBuffer& byteBuffer, 00067 const FileTraits& traits); 00068 00072 void setMarker(const unsigned int marker); 00073 00077 void setSize(const unsigned int size); 00078 00079 private: 00080 00084 FileBuffer(); 00085 00089 FileBuffer(FileBuffer& rhs); 00090 00094 FileBuffer& operator=(FileBuffer& rhs); 00095 00096 }; 00097 00098 } 00099 00100 #endif // FILEREADOUTFORMAT_FILERECORD_H