1 #ifndef _Belle2_DBInterface_hh
2 #define _Belle2_DBInterface_hh
4 #include "daq/slc/database/DBRecord.h"
5 #include "daq/slc/system/Mutex.h"
16 typedef std::vector<DBRecord> DBRecordList;
17 typedef std::map<std::string, std::string> DBFieldTypeList;
23 const std::string& database,
24 const std::string& user,
25 const std::string& password,
30 virtual void connect() = 0;
31 virtual bool isConnected() = 0;
32 virtual void execute_imp(
const char* command) = 0;
33 void execute(
const char* command, ...);
34 void execute(
const std::string& command);
35 virtual void close() = 0;
36 virtual void clear() = 0;
37 virtual DBRecordList loadRecords() = 0;
38 virtual bool checkTable(
const std::string& tablename) = 0;
39 virtual DBFieldTypeList getTableContents(
const std::string& tablename) = 0;
40 void clearRecords() { m_record_v.resize(0); }
41 DBRecordList& getRecords() {
return m_record_v; }
42 const std::string& getHostName()
const {
return m_host; }
43 const std::string& getDatabase()
const {
return m_database; }
44 const std::string& getUserName()
const {
return m_user; }
45 const std::string& getPassword()
const {
return m_password; }
46 int getPort()
const {
return m_port; }
50 void init(
const std::string& host,
51 const std::string& database,
52 const std::string& user,
53 const std::string& password,
57 DBRecordList m_record_v;
59 std::string m_database;
61 std::string m_password;
66 static const int m_buf_size = 1024 * 1000;