![]() |
|
|
Generated: 8 Jan 2009 |
00001 // $Id: PoolDbEvtSelector.h,v 1.3 2004/07/06 13:10:21 mato Exp $ 00002 //==================================================================== 00003 // PoolDbEvtSelector.h 00004 //-------------------------------------------------------------------- 00005 // 00006 // Package : GaudiPoolDb 00007 // 00008 // Description: The PoolDbEvtSelector component is able 00009 // to produce a list of event references given a set of "selection 00010 // criteria". 00011 // 00012 // Author : M.Frank 00013 // Created : 4/01/99 00014 // 00015 //==================================================================== 00016 // $Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiPoolDb/GaudiPoolDb/PoolDbEvtSelector.h,v 1.3 2004/07/06 13:10:21 mato Exp $ 00017 00018 #ifndef POOLDB_POOLDBEVTSELECTOR_H 00019 #define POOLDB_POOLDBEVTSELECTOR_H 1 00020 00021 // Include files 00022 #include "GaudiKernel/Kernel.h" 00023 #include "GaudiKernel/IEvtSelector.h" 00024 #include "GaudiKernel/IProperty.h" 00025 #include "GaudiKernel/ISvcLocator.h" 00026 #include "GaudiKernel/Service.h" 00027 #include "GaudiKernel/DataObject.h" 00028 #include "PersistencySvc/ITokenIterator.h" 00029 // C++ include files 00030 #include <list> 00031 00032 // Forward declarations 00033 class IPoolDbMgr; 00034 00035 //-------------------------------------------------------------------- 00036 // Event Selector 00037 //-------------------------------------------------------------------- 00038 00039 class PoolDbEvtSelector 00040 : public Service, 00041 virtual public IEvtSelector 00042 { 00043 public: 00045 virtual StatusCode initialize(); 00046 00048 virtual StatusCode finalize(); 00049 00050 // IInterface implementation: query interfaces 00051 virtual StatusCode queryInterface(const InterfaceID& riid, void** ppvInterface); 00052 00054 00058 virtual StatusCode createContext(Context*& refpCtxt) const; 00059 00063 virtual StatusCode last(Context& refContext) const; 00064 00066 00070 virtual StatusCode next(Context& refCtxt) const; 00071 00073 00077 virtual StatusCode next(Context& refCtxt,int jump) const; 00078 00080 00085 virtual StatusCode previous(Context& refCtxt) const; 00086 00088 00093 virtual StatusCode previous(Context& refCtxt,int jump) const; 00094 00096 00100 virtual StatusCode rewind(Context& refCtxt) const; 00101 00103 00107 virtual StatusCode createAddress(const Context& refCtxt, IOpaqueAddress*&) const; 00108 00110 00114 virtual StatusCode releaseContext(Context*& refCtxt) const; 00115 00122 virtual StatusCode resetCriteria(const std::string& cr,Context& c)const; 00123 00125 PoolDbEvtSelector( const std::string& name, ISvcLocator* svcloc ); 00126 00128 virtual ~PoolDbEvtSelector(); 00129 00130 protected: 00131 // Data Members 00132 std::string m_cnvSvcName; 00133 IPoolDbMgr* m_dbMgr; 00134 CLID m_rootCLID; 00135 std::string m_rootName; 00136 std::string m_criteria; 00137 }; 00138 #endif // POOLDB_POOLDBEVTSELECTOR_H