00001 #ifndef E3RUNDBCONN_H
00002 #define E3RUNDBCONN_H
00003
00004 #include <string>
00005 #include <cmath>
00006 #include <iostream>
00007 #include <fstream>
00008 #include <sstream>
00009 #include <cstdlib>
00010 #include <ctime>
00011 #include <cstring>
00012 #include <climits>
00013 #include <map>
00014 #include <vector>
00015
00016 #include <my_global.h>
00017 #include <mysql.h>
00018
00019 using namespace std;
00020
00022
00027 class e3RunDbConn{
00028
00029 private:
00030
00031 int _vLevel;
00032
00033 string _hostName;
00034 string _dbUser;
00035 string _dbPwd;
00036 string _dbName;
00037 MYSQL *_mysqlCon;
00038
00039 stringstream _queryStr;
00040 MYSQL_RES *_queryRes;
00041 MYSQL_FIELD *_dbFields;
00042 MYSQL_ROW _dbRow;
00043
00044 struct tm _e3Start;
00045 time_t _e3StartTime;
00046 int _overtime;
00047
00048 void finish_with_error();
00049
00050 protected:
00051
00052 public:
00053
00055
00058 e3RunDbConn(){ _vLevel=0; _mysqlCon = NULL; };
00059
00061
00067 e3RunDbConn(const string, const string, const string, const string);
00068
00070
00073 ~e3RunDbConn(){};
00074
00076
00081 void Init();
00082
00084
00089 void CloseConn();
00090
00092
00097 int GetTelescopeList(vector<string>&, const string);
00098
00100
00105 int GetRunList(vector<string>&, const string, const string, const string, const string, unsigned int);
00106
00108
00113 int GetDaqConf(vector<string>&, const string, const string, const string);
00114
00116
00139 int GetDaqConfList(vector<string>&, const string, const string, const string, const string);
00140
00141
00142 inline void SetOvertime(unsigned int overtime){ _overtime = overtime; _overtime*=(60*60); };
00143 inline void SetVerbosity(unsigned int vLevel){ _vLevel = vLevel; };
00144
00145 };
00146
00147 #endif