00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/ISelectStatement.h,v 1.3 2003/01/27 13:48:41 mato Exp $ 00002 #ifndef GAUDIKERNEL_ISELECTSTATEMENT_H 00003 #define GAUDIKERNEL_ISELECTSTATEMENT_H 00004 00005 // STL include files 00006 #include <string> 00007 00008 // Framework include files 00009 #include "GaudiKernel/IInterface.h" 00010 00011 // Declaration of the interface ID ( interface id, major version, minor version) 00012 static const InterfaceID IID_ISelectStatement(109, 1 , 0); 00013 00014 00037 class ISelectStatement : virtual public IInterface { 00038 public: 00040 enum SelectType { FUNCTION=1<<1, STRING=1<<2, FULL=1<<3, OTHER=1<<4 }; 00041 00042 public: 00044 static const InterfaceID& interfaceID() { return IID_ISelectStatement; } 00046 virtual long type() const = 0; 00048 virtual const std::string& criteria() const = 0; 00050 virtual void setCriteria(const std::string& crit) = 0; 00052 virtual void setActive(bool flag = true) = 0; 00054 virtual bool isActive() const = 0; 00056 virtual bool operator()(void* val) = 0; 00057 }; 00058 00059 00060 #endif // GAUDIKERNEL_ISELECTSTATEMENT_H