SpikeStream Library
0.2
|
00001 #ifndef ABSTRACTDAO_H 00002 #define ABSTRACTDAO_H 00003 00004 //SpikeStream includes 00005 #include "DBInfo.h" 00006 using namespace spikestream; 00007 00008 //Qt includes 00009 #include <QThread> 00010 #include <QtSql> 00011 00012 namespace spikestream { 00013 00015 class AbstractDao { 00016 public: 00017 AbstractDao(const DBInfo& dbInfo); 00018 AbstractDao(); 00019 virtual ~AbstractDao(); 00020 DBInfo getDBInfo(); 00021 QThread* getThread(); 00022 00023 protected: 00024 void checkDatabase(); 00025 void closeDatabaseConnection(); 00026 void connectToDatabase(); 00027 bool isConnected(); 00028 void executeQuery(QSqlQuery& query); 00029 void executeQuery(const QString& queryStr); 00030 QSqlQuery getQuery(); 00031 QSqlQuery getQuery(const QString& queryStr); 00032 void setDBInfo(const DBInfo& dbInfo) { this->dbInfo = dbInfo; } 00033 00034 private: 00035 //========================= VARIABLES ============================ 00038 QThread* dbThread; 00039 00041 DBInfo dbInfo; 00042 00044 QString dbName; 00045 00047 static unsigned int dbCounter; 00048 00049 00050 //========================= METHODS =============================== 00051 static QString getUniqueDBName(); 00052 00053 }; 00054 00055 } 00056 00057 #endif//ABSTRACTDAO_H 00058