Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ConnectionDBBase Class Reference

#include <ConnectionDBBase.h>

List of all members.

Public Types

enum  eLevel { LEVELProd = 1, LEVELDev = 2, LEVELTest = 4, LEVELSuperseded = 8 }
 Used to form bit masks for dbs queries. More...
enum  eLevel { LEVELProd = 1, LEVELDev = 2, LEVELTest = 4, LEVELSuperseded = 8 }
 Used to form bit masks for dbs queries. More...
enum  eRet {
  RETOk = 0, RETBadCnfFile = 1, RETBadHost = 2, RETNoConnect = 3,
  RETWrongState = 4, RETBadValue = 5, RETMySQLError = 6, RETNoSchemaMatch = 7
}
enum  eRet {
  RETOk = 0, RETBadCnfFile = 1, RETBadHost = 2, RETNoConnect = 3,
  RETWrongState = 4, RETBadValue = 5, RETMySQLError = 6, RETNoSchemaMatch = 7
}

Public Member Functions

 ConnectionDBBase (const std::string &host, const std::string &dbName, const std::string &userName, const std::string &password)
 ConnectionDBBase (const std::string &host, const std::string &table, const std::string &dbName)
 Constructor keeps track of table of interest.
 ConnectionDBBase (const std::string &host, const std::string &dbName, const std::string &userName, const std::string &password)
 ConnectionDBBase (const std::string &host, const std::string &table, const std::string &dbName)
 Constructor keeps track of table of interest.
bool connectRead (eRet &err)
bool connectRead (eRet &err)
void disconnectRead ()
void disconnectRead ()
void disconnectWrite ()
void disconnectWrite ()
rdbModel::RdbgetRdb ()
rdbModel::RdbgetRdb ()
rdbModel::ConnectiongetReadConnection ()
rdbModel::ConnectiongetReadConnection ()
const std::string & getTable ()
const std::string & getTable ()
 ~ConnectionDBBase ()
 ~ConnectionDBBase ()

Private Member Functions

bool connectWrite (eRet &err)
bool connectWrite (eRet &err)

Static Private Member Functions

bool connect (rdbModel::Connection *conn, std::string &host, const std::string &user, const std::string &pw, eRet &err, const std::string &dbName)
bool connect (rdbModel::Connection *conn, std::string &host, const std::string &user, const std::string &pw, eRet &err, const std::string &dbName)

Private Attributes

std::string m_dbName
rdbModel::Assertionm_findBest
rdbModel::Assertionm_findBest
rdbModel::Assertionm_findSoonest
rdbModel::Assertionm_findSoonest
std::string m_host
rdbModel::Managerm_man
rdbModel::Managerm_man
bool m_match
std::string m_password
rdbModel::Rdbm_rdb
rdbModel::Rdbm_rdb
rdbModel::Connectionm_readCxt
rdbModel::Connectionm_readCxt
std::string m_table
std::string m_userName
rdbModel::Connectionm_writeCxt
rdbModel::Connectionm_writeCxt


Member Enumeration Documentation

enum ConnectionDBBase::eLevel
 

Used to form bit masks for dbs queries.

Enumeration values:
LEVELProd 
LEVELDev 
LEVELTest 
LEVELSuperseded 
00026                 {
00027       LEVELProd = 1,
00028       LEVELDev  = 2,
00029       LEVELTest = 4,
00030       LEVELSuperseded = 8
00031     };

enum ConnectionDBBase::eLevel
 

Used to form bit masks for dbs queries.

Enumeration values:
LEVELProd 
LEVELDev 
LEVELTest 
LEVELSuperseded 
00026                 {
00027       LEVELProd = 1,
00028       LEVELDev  = 2,
00029       LEVELTest = 4,
00030       LEVELSuperseded = 8
00031     };

enum ConnectionDBBase::eRet
 

Enumeration values:
RETOk 
RETBadCnfFile 
RETBadHost 
RETNoConnect 
RETWrongState 
RETBadValue 
RETMySQLError 
RETNoSchemaMatch 
00015               {
00016       RETOk = 0,
00017       RETBadCnfFile = 1,
00018       RETBadHost = 2,
00019       RETNoConnect = 3,
00020       RETWrongState = 4,
00021       RETBadValue = 5,
00022       RETMySQLError = 6,
00023       RETNoSchemaMatch = 7
00024     };

enum ConnectionDBBase::eRet
 

Enumeration values:
RETOk 
RETBadCnfFile 
RETBadHost 
RETNoConnect 
RETWrongState 
RETBadValue 
RETMySQLError 
RETNoSchemaMatch 
00015               {
00016       RETOk = 0,
00017       RETBadCnfFile = 1,
00018       RETBadHost = 2,
00019       RETNoConnect = 3,
00020       RETWrongState = 4,
00021       RETBadValue = 5,
00022       RETMySQLError = 6,
00023       RETNoSchemaMatch = 7
00024     };


Constructor & Destructor Documentation

ConnectionDBBase::ConnectionDBBase const std::string &  host,
const std::string &  table,
const std::string &  dbName
 

Constructor keeps track of table of interest.

00021     : m_readCxt(0), m_writeCxt(0),
00022       m_host(host), m_table(table), m_dbName(dbName), m_userName("maqm"), m_password("12345"), m_man(0), m_rdb(0),
00023       m_match(false) {
00024    // if (table.compare("*") == 0) m_table = std::string("$(MYSQL_METATABLE)");
00025    // if (host.compare("*") == 0) m_host = std::string("$(MYSQL_HOST)");
00026 
00027   }

ConnectionDBBase::ConnectionDBBase const std::string &  host,
const std::string &  dbName,
const std::string &  userName,
const std::string &  password
 

00029         : m_readCxt(0), m_writeCxt(0),
00030         m_host(host), m_dbName(dbName), m_userName(userName), m_password(password),
00031           m_man(0), m_rdb(0), m_match(false) {
00032   }

ConnectionDBBase::~ConnectionDBBase  ) 
 

00034                                       {
00035     disconnectRead();
00036     disconnectWrite();
00037     if (m_man) delete m_man;
00038   }

ConnectionDBBase::ConnectionDBBase const std::string &  host,
const std::string &  table,
const std::string &  dbName
 

Constructor keeps track of table of interest.

ConnectionDBBase::ConnectionDBBase const std::string &  host,
const std::string &  dbName,
const std::string &  userName,
const std::string &  password
 

ConnectionDBBase::~ConnectionDBBase  ) 
 


Member Function Documentation

bool ConnectionDBBase::connect rdbModel::Connection conn,
std::string &  host,
const std::string &  user,
const std::string &  pw,
eRet err,
const std::string &  dbName
[static, private]
 

bool ConnectionDBBase::connect rdbModel::Connection conn,
std::string &  host,
const std::string &  user,
const std::string &  pw,
eRet err,
const std::string &  dbName
[static, private]
 

00046                                                    {
00047 
00048 
00049     bool connected = cxt->open(host, user, pw, dbName);
00050     if (connected) {
00051       err = RETOk;
00052       return true;
00053     }
00054     else {
00055       err = RETNoConnect;
00056       return false;
00057     }
00058   }

bool ConnectionDBBase::connectRead eRet err  ) 
 

bool ConnectionDBBase::connectRead eRet err  ) 
 

00060                                               {
00061     if (m_readCxt == 0) {
00062       // for now use std::cout, std::cerr 
00063       m_readCxt = new rdbModel::MysqlConnection();
00064       bool ok = connect(m_readCxt, m_host, m_userName, 
00065                         m_password,  err, m_dbName);
00066       if (!ok) {
00067         delete m_readCxt;
00068         m_readCxt = 0;
00069       }  else {
00070       }
00071       return ok;
00072     }
00073     else return true;
00074   }

bool ConnectionDBBase::connectWrite eRet err  )  [private]
 

bool ConnectionDBBase::connectWrite eRet err  )  [private]
 

00076                                                {
00077     if (m_writeCxt == 0) {
00078       m_writeCxt = new rdbModel::MysqlConnection();
00079       bool ok;
00080      
00081       ok = connect(m_writeCxt, m_host, m_userName, 
00082                      m_password, err, m_dbName);
00083 
00084       if (!ok) {
00085         delete m_readCxt;
00086         m_readCxt = 0;
00087       }     else { 
00088         
00089       }
00090 
00091       return ok;
00092     }
00093     else return true;
00094   }

void ConnectionDBBase::disconnectRead  ) 
 

void ConnectionDBBase::disconnectRead  ) 
 

00096                                         {
00097     if (m_readCxt) {
00098       m_readCxt->close();
00099       delete m_readCxt;
00100       m_readCxt = 0;
00101     }
00102   }

void ConnectionDBBase::disconnectWrite  ) 
 

void ConnectionDBBase::disconnectWrite  ) 
 

00104                                          {
00105     if (m_writeCxt) {
00106       m_writeCxt->close();
00107       delete m_writeCxt;
00108       m_writeCxt = 0;
00109     }
00110   }

rdbModel::Rdb* ConnectionDBBase::getRdb  )  [inline]
 

00051 {return m_rdb;}

rdbModel::Rdb* ConnectionDBBase::getRdb  )  [inline]
 

00051 {return m_rdb;}

rdbModel::Connection* ConnectionDBBase::getReadConnection  )  [inline]
 

00048 {return m_readCxt;}

rdbModel::Connection* ConnectionDBBase::getReadConnection  )  [inline]
 

00048 {return m_readCxt;}

const std::string& ConnectionDBBase::getTable  )  [inline]
 

00052 {return m_table;}

const std::string& ConnectionDBBase::getTable  )  [inline]
 

00052 {return m_table;}


Member Data Documentation

std::string ConnectionDBBase::m_dbName [private]
 

rdbModel::Assertion* ConnectionDBBase::m_findBest [private]
 

rdbModel::Assertion* ConnectionDBBase::m_findBest [private]
 

rdbModel::Assertion* ConnectionDBBase::m_findSoonest [private]
 

rdbModel::Assertion* ConnectionDBBase::m_findSoonest [private]
 

std::string ConnectionDBBase::m_host [private]
 

rdbModel::Manager* ConnectionDBBase::m_man [private]
 

rdbModel::Manager* ConnectionDBBase::m_man [private]
 

bool ConnectionDBBase::m_match [private]
 

std::string ConnectionDBBase::m_password [private]
 

rdbModel::Rdb* ConnectionDBBase::m_rdb [private]
 

rdbModel::Rdb* ConnectionDBBase::m_rdb [private]
 

rdbModel::Connection* ConnectionDBBase::m_readCxt [private]
 

rdbModel::Connection* ConnectionDBBase::m_readCxt [private]
 

std::string ConnectionDBBase::m_table [private]
 

std::string ConnectionDBBase::m_userName [private]
 

rdbModel::Connection* ConnectionDBBase::m_writeCxt [private]
 

rdbModel::Connection* ConnectionDBBase::m_writeCxt [private]
 


The documentation for this class was generated from the following files:
Generated on Wed Feb 2 15:56:31 2011 for BOSS6.5.5 by  doxygen 1.3.9.1