| # Gaudi Framework, version v20r3
Generated: 24 Nov 2008

# PoolDbEvtSelector.h

Go to the documentation of this file.

    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: /local/reps/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