00001 #ifndef DBISVC_H 00002 #define DBISVC_H 00003 00023 00024 #include <string> 00025 00026 #include "GaudiKernel/StatusCode.h" 00027 #include "GaudiKernel/Service.h" 00028 #include "GaudiKernel/Message.h" 00029 #include "GaudiKernel/Property.h" 00030 #include "DatabaseInterface/IDbiService.h" 00031 00032 class ISvcLocator; 00033 00034 class DbiSvc : public Service, 00035 virtual public IDbiService 00036 { 00037 public: 00038 DbiSvc( const std::string& name, ISvcLocator* sl ); 00039 virtual ~DbiSvc(); 00040 00041 // Implementation of IService::reinitialize() 00042 virtual StatusCode reinitialize(); 00043 // Implementation of IService::initialize() 00044 virtual StatusCode initialize(); 00045 // Implementation of IService::finalize() 00046 virtual StatusCode finalize(); 00047 00048 virtual StatusCode quertyInterface(const InterfaceID& riid, void** ppvIF); 00049 00050 virtual StatusCode ShowStatistics() const; 00051 00052 public: 00053 // Callbacks for configuration changes. 00054 virtual void updateOutputLevel(Property& ); 00055 virtual void updateRollbackDates(Property& ); 00056 virtual void updateLevel2Cache(Property& ); 00057 virtual void updateConnectionsPermanent(Property& ); 00058 virtual void updateOrderContextQuery(Property& ); 00059 00060 00061 public: 00062 // Configurables: 00063 IntegerProperty mOutputLevel; 00064 StringArrayProperty mRollbackDates; 00065 StringProperty mLevel2Cache; 00066 BooleanProperty mConnectionsPermanent; 00067 BooleanProperty mOrderContextQuery; 00068 00069 }; 00070 00071 #endif /* DBISVC_H */