| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

MetadataStrings.h

Go to the documentation of this file.
00001 #ifndef FILEREADOUTFORMAT_METADATASTRINGS_H
00002 #define FILEREADOUTFORMAT_METADATASTRINGS_H
00003 
00004 /*
00005  *  MetadataStrings.h
00006  *  FileReadoutFormat
00007  *
00008  *  Created by Simon Patton on 7/18/10.
00009  *  Copyright 2010 DayaBay Collaboration. All rights reserved.
00010  *
00011  */
00012 
00013 #include <vector>
00014 #include <string>
00015 #include "FileReadoutFormat/FileBuffer.h"
00016 
00017 namespace DybDaq {
00018 
00019 class MetadataStrings : public FileBuffer {
00020         
00021 public:
00022         
00023     typedef std::pair<std::string, std::string> MetadataString;
00024         typedef std::vector<const MetadataString* > MetadataStringPtrList;
00025         
00029     MetadataStrings(const MetadataStringPtrList& metadataStrings,
00030                     const FileTraits& traits);
00031         
00035         MetadataStrings(const DybDaq::ByteBuffer& byteBuffer,
00036                                         const FileTraits& traits);
00037         
00041         virtual ~MetadataStrings();
00042         
00046     virtual bool isMarked(unsigned int marker) const;
00047         
00051         const MetadataStringPtrList& metadataStrings() const;
00052 
00057     virtual unsigned int gather(OutputBufferList& outputBuffers) const;
00058     
00059 protected:
00060     
00064     virtual unsigned int formatComponent() const;
00065     
00066 private:
00067         
00071         MetadataStrings();
00072         
00076         MetadataStrings(MetadataStrings& rhs);
00077         
00081         MetadataStrings& operator=(MetadataStrings& rhs);
00082 
00086         void setMetadataStrings(const MetadataStringPtrList& metadataStrings);
00087     
00091     static std::string readString(const char* buffer);
00092     
00096     static unsigned int calculateStringsLength(const MetadataStringPtrList& metadataStrings);
00097       
00101     static unsigned int writeString(const std::string& value,
00102                                           char* buffer);
00103 
00107     mutable MetadataStringPtrList* m_strings;
00108     
00112     char* m_stringBuffer;
00113 };
00114     
00115 }
00116 
00117 #endif // FILEREADOUTFORMAT_METADATASTRINGS_H
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 20:08:33 2011 for FileReadoutFormat by doxygen 1.4.7