Isis 3.0 Object Programmers' Reference
Home
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
Database.h
Go to the documentation of this file.
1
#ifndef Database_h
2
#define Database_h
3
26
#include <string>
27
#include <vector>
28
#include <iostream>
29
#include "
DbProfile.h
"
30
#include "
IException.h
"
31
#include <QSqlDatabase>
32
33
namespace
Isis {
34
84
class
Database
:
public
QSqlDatabase
{
85
public
:
87
typedef
enum
{
88
Connect
,
89
DoNotConnect
90
}
Access
;
91
92
Database
();
93
Database
(
Access
dbConn);
94
Database
(
const
QString &connName,
const
QString &driverType);
95
Database
(
const
QString &name,
Access
dbConn =
Connect
);
96
Database
(
const
DbProfile
&profile,
Access
dbConn =
Connect
);
97
virtual
~Database
();
98
104
QString
Name
()
const
{
105
return
(
_name
);
106
}
107
108
void
makePersistant
();
109
bool
isPersistant
()
const
;
110
void
setAsDefault
();
111
Database
clone
(
const
QString &name)
const
;
112
QStringList
getTables
()
const
;
113
QStringList
getViews
()
const
;
114
QStringList
getSystemTables
()
const
;
115
116
static
void
remove
(
const
QString &name);
117
118
static
bool
addAccessConfig
(
const
QString &confFile);
119
static
DbProfile
getProfile
(
const
QString &name);
120
121
protected
:
122
Database
(
const
QSqlDatabase
&other,
const
QString &name);
123
QSqlDatabase
init
(
const
DbProfile
&profile,
Access
dbConn =
Connect
);
124
QSqlDatabase
init
(
const
QString &name =
""
,
125
const
QString &driverType =
""
);
126
void
configureAccess
(
QSqlDatabase
&db,
const
DbProfile
&profile);
127
128
private
:
129
static
QString _actualConnectionName;
132
QString
_name
;
133
134
void
tossDbError
(
const
QString &message,
const
char
*f,
int
l)
const
;
135
};
136
137
}
138
#endif