Gaudi Framework, version v21r11

Home   Generated: 30 Sep 2010

IDataStreamTool.h

Go to the documentation of this file.
00001 // $Id: IDataStreamTool.h,v 1.2 2007/01/12 17:32:31 hmd Exp $
00002 #ifndef GAUDIKERNEL_IDATASTREAMTOOL_H
00003 #define GAUDIKERNEL_IDATASTREAMTOOL_H 1
00004 
00005 // Include files
00006 // from STL
00007 #include <string>
00008 
00009 // from Gaudi
00010 #include "GaudiKernel/IAlgTool.h"
00011 
00012 class IEvtSelector;
00013 class EventSelectorDataStream;
00014 
00023 class GAUDI_API IDataStreamTool: virtual public IAlgTool {
00024 public:
00026   DeclareInterfaceID(IDataStreamTool,2,0);
00027 
00028   typedef std::vector<std::string>                         StreamSpecs;
00029   typedef long                                             size_type;
00030 
00031   virtual StatusCode initializeStream( EventSelectorDataStream* ) = 0;
00032 
00033   virtual StatusCode finalizeStream( EventSelectorDataStream* ) = 0;
00034 
00035   virtual StatusCode getNextStream( const EventSelectorDataStream* &, size_type & ) = 0;
00036 
00037   virtual StatusCode getPreviousStream( const EventSelectorDataStream* &, size_type & ) = 0;
00038 
00039   virtual StatusCode addStream(const std::string &) = 0;
00040 
00041   virtual StatusCode addStreams(const StreamSpecs &) = 0;
00042 
00043   virtual StatusCode eraseStream( const std::string& ) = 0;
00044 
00045   virtual EventSelectorDataStream* getStream( size_type ) = 0;
00046 
00047   virtual EventSelectorDataStream* getStream( const std::string& ) = 0;
00048 
00049   virtual EventSelectorDataStream* lastStream() = 0;
00050 
00051   virtual size_type size() = 0;
00052 
00053   virtual StatusCode clear() = 0;
00054 
00055 protected:
00056 
00057   virtual StatusCode createSelector(const std::string& , const std::string& ,
00058                                     IEvtSelector*&) = 0;
00059 
00060   virtual StatusCode createStream(const std::string&, const std::string&,
00061                                   EventSelectorDataStream*& ) = 0;
00062 
00063 };
00064 #endif // GAUDIKERNEL_IDATASTREAMTOOL_H

Generated at Thu Sep 30 09:57:30 2010 for Gaudi Framework, version v21r11 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004