ARB
Main Page
Namespaces
Classes
Files
File List
File Members
RNACMA
dbconn.cxx
Go to the documentation of this file.
1
// ============================================================== //
2
// //
3
// File : dbconn.cxx //
4
// Purpose : Connector to running ARB //
5
// //
6
// Coded by Ralf Westram (coder@reallysoft.de) in August 2011 //
7
// Institute of Microbiology (Technical University Munich) //
8
// http://www.arb-home.de/ //
9
// //
10
// ============================================================== //
11
12
#include "
dbconn.h
"
13
#include <
arbdb.h
>
14
15
class
ARBDB_connector
:
virtual
Noncopyable
{
16
GB_shell
shell;
17
GBDATA
*gb_main;
18
19
public
:
20
ARBDB_connector
() {
21
gb_main =
GB_open
(
":"
,
"rwt"
);
22
if
(!gb_main) {
23
GB_print_error
();
24
exit(
EXIT_FAILURE
);
25
}
26
}
27
~ARBDB_connector
() {
28
GB_close
(gb_main);
29
}
30
31
GBDATA
*
main
()
const
{
return
gb_main; }
32
};
33
34
35
GBDATA
*
runningDatabase
() {
36
static
SmartPtr<ARBDB_connector>
db;
37
if
(db.
isNull
()) db =
new
ARBDB_connector
;
38
return
db->
main
();
39
}
40
GB_open
GBDATA * GB_open(const char *path, const char *opent)
Definition:
ad_load.cxx:1363
arbdb.h
SmartPtr::isNull
bool isNull() const
test if SmartPtr is NULp
Definition:
smartptr.h:248
GBDATA
Definition:
gb_data.h:129
ARBDB_connector::ARBDB_connector
ARBDB_connector()
Definition:
dbconn.cxx:20
SmartPtr
Generic smart pointer.
Definition:
smartptr.h:149
EXIT_FAILURE
#define EXIT_FAILURE
Definition:
arb_a2ps.c:157
dbconn.h
GB_print_error
GB_ERROR GB_print_error()
Definition:
arb_msg.cxx:335
GB_shell
Definition:
arbdb.h:164
ARBDB_connector::main
GBDATA * main() const
Definition:
dbconn.cxx:31
runningDatabase
GBDATA * runningDatabase()
Definition:
dbconn.cxx:35
ARBDB_connector::~ARBDB_connector
~ARBDB_connector()
Definition:
dbconn.cxx:27
ARBDB_connector
Definition:
dbconn.cxx:15
GB_close
void GB_close(GBDATA *gbd)
Definition:
arbdb.cxx:649
Noncopyable
Definition:
arbtools.h:39
Generated by
1.8.8