//----------------------------------------------------------------------------- // // File and Version Information: // $Id: BdbAbsQuery.hh,v 1.3 1998/01/29 07:39:44 yury Exp $ // // Description: // Class BdbAbsQuery -- defines an interface for looking up a // configuration object. // // Environment: // Software developed for the BaBar Detector at the SLAC B-Factory. // // Author List: // Yury Kolomensky // // Copyright Information: // Copyright (C) 1997 Caltech // //----------------------------------------------------------------------------- #ifndef BDBABSQUERY_HH #define BDBABSQUERY_HH #include "BaBar/BaBar.hh" //---------------------- // Base Class Headers -- //---------------------- //------------------------------- // Collaborating Class Headers -- //------------------------------- #include "BdbUtil/Bdb.hh" class BdbConfigObject; class BdbConfigContObj; class ooLookupKey; // --------------------- // -- Class Interface -- // --------------------- class BdbAbsQuery { //-------------------- // Instance Members -- //-------------------- public: // Constructors BdbAbsQuery( ) {}; // Destructor virtual ~BdbAbsQuery( ); // evaluate the query virtual bool evaluate( const BdbHandle(BdbConfigObject)& ) const = 0; // scan a container and return the first object to match the query virtual bool lookup(BdbHandle(BdbConfigObject)& theObjectH, const BdbHandle(BdbConfigContObj)& containerH); // creates the lookup key to be used in index lookup virtual const ooLookupKey* getLookupKey() = 0 ; }; #endif