00001 #ifndef IOPool_Streamer_InitMsgBuilder_h
00002 #define IOPool_Streamer_InitMsgBuilder_h
00003
00004 #include "IOPool/Streamer/interface/MsgTools.h"
00005 #include "IOPool/Streamer/interface/InitMessage.h"
00006
00007
00008
00009 class InitMsgBuilder
00010 {
00011 public:
00012 InitMsgBuilder(void* msg_mem, uint32 size,
00013 uint32 run, const Version& v,
00014 const char* release_tag,
00015 const char* process_name,
00016 const char* output_module_label,
00017 uint32 output_module_id,
00018 const Strings& hlt_names,
00019 const Strings& hlt_selections,
00020 const Strings& l1_names);
00021
00022 uint8* startAddress() const { return buf_; }
00023 void setDataLength(uint32 registry_length);
00024 uint8* dataAddress() const { return data_addr_; }
00025 uint32 headerSize() const {return data_addr_-buf_;}
00026 uint32 size() const ;
00027 uint32 run() const;
00028 uint32 bufferSize() const {return size_;}
00029
00030 private:
00031 uint8* buf_;
00032 uint32 size_;
00033 uint8* data_addr_;
00034 };
00035
00036 #endif
00037