MAK Data Logger API Documentation for DIS
Home
Modules
Namespaces
Classes
Files
Examples
Libraries
File List
File Members
libsrc
vlDatabase
databaseDriverFactory.h
Go to the documentation of this file.
1
/******************************************************************************
2
** Copyright (c) 1992-2010 VT MAK
3
** All rights reserved.
4
******************************************************************************/
5
8
9
#ifndef databaseDriverFactory_H_
10
#define databaseDriverFactory_H_
11
12
#include "
vlDatabase.h
"
13
14
#include <map>
15
#include <vlutil/vlMutex.h>
16
#include <vector>
17
18
class
DtString;
19
20
class
DtDatabaseDriver
;
21
23
class
DT_DLL_VLDB
DtDatabaseDriverFactory
24
{
25
public
:
27
~
DtDatabaseDriverFactory
();
28
30
static
std::vector<DtString> getInstalledDrivers();
31
34
static
const
DtDatabaseDriver
* getDriver(
const
DtString& driverName);
35
40
static
void
registerDriver(
DtDatabaseDriver
* driver);
41
45
static
void
replaceDriver(
DtDatabaseDriver
* driver);
46
48
static
std::vector<DtString> getDataSources(
const
DtString& driver);
49
50
private
:
52
DtDatabaseDriverFactory
(
const
DtDatabaseDriverFactory
&);
53
DtDatabaseDriverFactory
& operator=(
const
DtDatabaseDriverFactory
&);
55
56
57
protected
:
58
60
static
DtDatabaseDriverFactory
* acquire();
61
63
static
void
release();
64
66
explicit
DtDatabaseDriverFactory
();
67
69
DtDatabaseDriver
* lookupDriverByName(
const
DtString& driverName);
70
73
bool
registerDriver(
DtDatabaseDriver
* driver,
bool
allowReplace);
74
75
static
DtMutex
theFactoryMutex
;
76
static
DtDatabaseDriverFactory
theDriverFactory
;
77
78
typedef
std::map<DtString,DtDatabaseDriver*>
DriverMap
;
79
DriverMap
myDriverMap
;
80
};
81
82
#endif
Document ID: Generated on Sun Dec 15 18:04:30 EST 2013 from SVN revision 134418
Copyright © 2005-2012 VT MÄK. All Rights Reserved (
www.mak.com
)