SpikeStream Library  0.2
AbstractDao.h
Go to the documentation of this file.
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 
 All Classes Files Functions Variables Typedefs Defines