00001 #ifndef OUTPUTSERVICE_H 00002 #define OUTPUTSERVICE_H 00003 00004 // $Id: OutputService.h,v 1.4 2008/08/13 22:48:11 biery Exp $ 00005 00006 #include <EventFilter/StorageManager/interface/FileRecord.h> 00007 #include <IOPool/Streamer/interface/MsgHeader.h> 00008 00009 #include <boost/shared_ptr.hpp> 00010 #include <string> 00011 00012 namespace edm { 00013 00014 class OutputService 00015 { 00016 public: 00017 virtual ~OutputService(); 00018 00019 virtual void writeEvent(const uint8 * const) = 0; 00020 double lastEntry() const { return file_->lastEntry(); } 00021 double lumiSection() const { return file_->lumiSection(); } 00022 virtual void report(std::ostream &os, int indentation) const = 0; 00023 00024 protected: 00025 double getTimeStamp() const; 00026 00027 boost::shared_ptr<FileRecord> file_; 00028 }; 00029 00030 } // edm namespace 00031 #endif