00001 #ifndef IDATABASESVC_H 00002 #define IDATABASESVC_H 00003 00004 // Base classes 00005 #include "GaudiKernel/IService.h" 00006 #include <string> 00007 #include <vector> 00008 #include <map> 00009 00010 #include "DatabaseSvc/DatabaseRecord.h" 00011 00012 static const InterfaceID IID_IDatabaseSvc("IDatabaseSvc", 1, 0); 00013 00014 class IDatabaseSvc : virtual public IService 00015 { 00016 00017 public: 00018 /* Virtual destructor */ 00019 virtual ~IDatabaseSvc() {}; 00020 00021 public: 00022 static const InterfaceID& interfaceID() { return IID_IDatabaseSvc; } 00023 static const std::string& serviceInUse() { 00024 return g_serviceInUse; 00025 }; 00026 00027 virtual int query(const std::string& dbName, const std::string& sql, DatabaseRecordVector& res)=0; 00028 00029 protected: 00030 00031 static std::string g_serviceInUse; 00032 00033 }; 00034 00035 #endif