Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
#ifndef CONFIGURATION_H
#define CONFIGURATION_H
#include <boost/shared_ptr.hpp>
namespace DataImporter_ns
{
class Configuration
{
public:
//------------------------------------------------------------------------------
// [Public] Shared pointer typedef
//------------------------------------------------------------------------------
typedef boost::shared_ptr<Configuration> SP;
private:
//------------------------------------------------------------------------------
// [Private] Constructor destructor deleter
//------------------------------------------------------------------------------
Configuration(std::string certificateFile, std::string storagePath,
std::string remoteHost, unsigned int remotePort,
std::string remoteUsername, std::string remotePassword,
std::string databaseHost, unsigned int databasePort,
std::string databaseUsername, std::string databasePassword,
std::string databaseSchema, std::string databaseTable,
unsigned int refreshTime, unsigned int timeout) :
m_certificateFile (certificateFile), m_storagePath(storagePath),
m_remoteHost(remoteHost), m_remotePort(remotePort),
m_remoteUsername(remoteUsername), m_remotePassword(remotePassword),
m_databaseHost(databaseHost), m_databasePort(databasePort),
m_databaseUsername(databaseUsername), m_databasePassword(databasePassword),
m_databaseSchema(databaseSchema), m_databaseTable(databaseTable),
m_refreshTime(refreshTime), m_timeout(timeout) { };
virtual ~Configuration() {}
class Deleter;
friend class Deleter;
class Deleter
{
public:
void operator()(Configuration* c) { delete c; }
};
public:
//------------------------------------------------------------------------------
// [Public] Create class method
//------------------------------------------------------------------------------
static Configuration::SP create(std::string certificateFile,
std::string storagePath, std::string remoteHost,
unsigned int remotePort, std::string remoteUsername,
std::string remotePassword, std::string databaseHost
, unsigned int databasePort, std::string databaseUsername,
std::string databasePassword, std::string databaseSchema,
std::string databaseTable, unsigned int refreshTime,
unsigned int timeout)
{
Configuration::SP c_sp(new Configuration(certificateFile, storagePath,
remoteHost, remotePort, remoteUsername, remotePassword,
databaseHost, databasePort, databaseUsername, databasePassword,
databaseSchema, databaseTable, refreshTime, timeout),
Configuration::Deleter());
return c_sp;
}
//------------------------------------------------------------------------------
// [Public] Getter methods
//------------------------------------------------------------------------------
std::string getCertificateFile() const { return m_certificateFile; }
std::string getStoragePath() const { return m_storagePath; }
std::string getRemoteHost() const { return m_remoteHost; }
unsigned int getRemotePort() const { return m_remotePort; }
std::string getRemoteUsername() const { return m_remoteUsername; }
std::string getRemotePassword() const { return m_remotePassword; }
std::string getDatabaseHost() const { return m_databaseHost; }
unsigned int getDatabasePort() const { return m_databasePort; }
std::string getDatabaseUsername() const { return m_databaseUsername; }
std::string getDatabasePassword() const { return m_databasePassword; }
std::string getDatabaseSchema() const { return m_databaseSchema; }
std::string getDatabaseTable() const { return m_databaseTable; }
unsigned int getRefreshTime() const { return m_refreshTime; }
unsigned int getTimeout() const { return m_timeout; }
private:
//------------------------------------------------------------------------------
// [Private] class variables
//------------------------------------------------------------------------------
//Absolute path to certificate chain file
const std::string m_certificateFile;
//Absolute path to storage
const std::string m_storagePath;
//Metadata exporter remote host
const std::string m_remoteHost;
//Metadata exporter remote port
const unsigned int m_remotePort;
//Metadata exporter login username
const std::string m_remoteUsername;
//Metadata exporter remote password
const std::string m_remotePassword;
//Metadata local database host
const std::string m_databaseHost;
//Metadata local database port
const unsigned int m_databasePort;
//Metadata local database username
const std::string m_databaseUsername;
//Metadata local database password
const std::string m_databasePassword;
//Metadata local database schema
const std::string m_databaseSchema;
//Metadata local database table
const std::string m_databaseTable;
//Remote database request period (seconds)
const unsigned int m_refreshTime;
//Connection timeout (seconds)
const unsigned int m_timeout;
};
} //End of namespace
#endif /* CONFIGURATION_H */