00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef __MySQLaux_Database_h__
00025 #define __MySQLaux_Database_h__
00026
00027 #include <strstream.h>
00028 #include <string>
00029 #include <vector>
00030 #include <mysql/mysql.h>
00031 #include "GarbageCollector.h"
00032 #include "Table.h"
00033 #include "Error.h"
00034
00059 namespace MySQLaux
00060 {
00070 class Database
00071 {
00072 private:
00073 char const * _host;
00074 char const * _user;
00075 char const * _password;
00076 char const * _dbname;
00077 unsigned _port;
00078 char const * _socket;
00079 unsigned _clientflag;
00080 MYSQL _mysql;
00081 GarbageCollector _gc;
00082 public:
00109 Database (string const & host = string(),
00110 string const & user = string(),
00111 string const & passwd = string(),
00112 string const & dbname = string(),
00113 unsigned port = 0,
00114 string const & socket = string(),
00115 unsigned clientflag = 0)
00116 throw (Error);
00117
00119 ~Database ();
00120
00122 char const * host () const
00123 {
00124 return _host;
00125 }
00127 char const * user () const
00128 {
00129 return _user;
00130 }
00132 char const * password () const
00133 {
00134 return _password;
00135 }
00137 char const * dbname () const
00138 {
00139 return _dbname;
00140 }
00142 unsigned port () const
00143 {
00144 return _port;
00145 }
00147 char const * socket () const
00148 {
00149 return _socket;
00150 }
00152 unsigned clientflag () const
00153 {
00154 return _clientflag;
00155 }
00156
00157 public:
00159
00160 {
00161 return _mysql;
00162 }
00163
00168 GarbageCollector & gc()
00169 {
00170 return _gc;
00171 }
00172
00173 public:
00178 bool is_accessible()
00179 throw (Error);
00180
00181
00182
00188 Table const query (const string & q)
00189 throw (Error, MissingFeature);
00190 };
00191 }
00192
00193 #endif // __MySQLaux_Database_h__
00194
00195
00196
00197
00198
00199
00200
00201