00001 #ifndef DbInterface_h 00002 #define DbInterface_h 00003 00004 #include <string> 00005 #include <vector> 00006 #include <map> 00007 00008 #include "DatabaseSvc/DatabaseRecord.h" 00009 00010 class DbInterface 00011 { 00012 public: 00013 DbInterface(); 00014 virtual ~DbInterface(); 00015 00016 // Connect to db 00017 virtual int connect() = 0; 00018 // Select database to be used 00019 virtual int select_db(std::string dbname) = 0; 00020 // Query which returns data (SELECT, SHOW etc.) 00021 virtual int query(std::string dbname, std::string query, DatabaseRecordVector& records) = 0; 00022 // Query wich does not return data (INSERT, UPDATE etc.) 00023 virtual int query(std::string dbname, std::string query) = 0; 00024 // Disconnect from db 00025 virtual int disconnect() = 0; 00026 00027 bool is_connected(){ return m_isConnected; } 00028 00029 void set_host(std::string host) {m_dbHost=host;}; 00030 void set_user(std::string user) {m_dbUser=user;}; 00031 void set_passwd(std::string passwd) {m_dbPasswd=passwd;}; 00032 void set_dbpath(std::string path) {m_dbPath=path;}; 00033 void set_reuse_connection(bool flag) { m_reuseConnection=flag;}; 00034 00035 protected: 00036 bool m_isConnected; 00037 bool m_reuseConnection; 00038 00039 std::string m_dbName; 00040 00041 std::string m_dbHost; 00042 std::string m_dbUser; 00043 std::string m_dbPasswd; 00044 std::string m_dbPath; 00045 }; 00046 00047 #endif