20 #include "mongo/client/export_macros.h"
21 #include "mongo/logger/log_domain.h"
22 #include "mongo/logger/message_log_domain.h"
23 #include "mongo/stdx/functional.h"
38 static const unsigned int kDefaultAutoShutdownGracePeriodMillis = 0;
39 static const int kDefaultDefaultLocalThresholdMillis = 15;
42 typedef std::auto_ptr<logger::MessageLogDomain::EventAppender> LogAppenderPtr;
43 typedef stdx::function<LogAppenderPtr()> LogAppenderFactory;
48 static const Options& current();
100 Options& setCallShutdownAtExit(
bool value =
true);
101 bool callShutdownAtExit()
const;
108 Options& setAutoShutdownGracePeriodMillis(
unsigned int millis);
109 unsigned int autoShutdownGracePeriodMillis()
const;
120 Options& setDefaultLocalThresholdMillis(
int millis);
121 int defaultLocalThresholdMillis()
const;
141 Options& setSSLMode(SSLModes sslMode = kSSLRequired);
142 SSLModes SSLMode()
const;
146 return SSLMode() != kSSLDisabled;
153 Options& setFIPSMode(
bool value =
true);
154 const bool FIPSMode()
const;
161 Options& setSSLDisabledTLSProtocols(
const std::vector<TLSProtocol>& protocols);
162 const std::vector<TLSProtocol>& SSLDisabledTLSProtocols()
const;
168 Options& setSSLCAFile(
const std::string& fileName);
169 const std::string& SSLCAFile()
const;
175 Options& setSSLPEMKeyFile(
const std::string& fileName);
176 const std::string& SSLPEMKeyFile()
const;
182 Options& setSSLPEMKeyPassword(
const std::string& password);
183 const std::string& SSLPEMKeyPassword()
const;
189 Options& setSSLCRLFile(
const std::string& fileName);
190 const std::string& SSLCRLFile()
const;
196 Options& setSSLAllowInvalidCertificates(
bool value =
true);
197 const bool SSLAllowInvalidCertificates()
const;
203 Options& setSSLAllowInvalidHostnames(
bool value =
true);
204 const bool SSLAllowInvalidHostnames()
const;
210 Options& setSSLCipherConfig(
const std::string& config);
211 const std::string& SSLCipherConfig()
const;
221 Options& setLogAppenderFactory(
const LogAppenderFactory& factory);
222 const LogAppenderFactory& logAppenderFactory()
const;
229 Options& setMinLoggedSeverity(logger::LogSeverity level);
230 logger::LogSeverity minLoggedSeverity()
const;
240 Options& setValidateObjects(
bool value =
true);
241 bool validateObjects()
const;
244 bool _callShutdownAtExit;
245 unsigned int _autoShutdownGracePeriodMillis;
248 std::vector<TLSProtocol> _sslDisabledTLSProtocols;
249 std::string _sslCAFile;
250 std::string _sslPEMKeyFile;
251 std::string _sslPEMKeyPassword;
252 std::string _sslCRLFile;
253 bool _sslAllowInvalidCertificates;
254 bool _sslAllowInvalidHostnames;
255 std::string _sslCipherConfig;
256 int _defaultLocalThresholdMillis;
257 LogAppenderFactory _appenderFactory;
258 logger::LogSeverity _minLoggedSeverity;
259 bool _validateObjects;
the main MongoDB namespace
Definition: bulk_operation_builder.h:24
DefaultPorts
The default ports where different mongodb servers tend to run.
Definition: options.h:56
SSLModes
The possible modes for SSL support in an SSL enabled build of the driver.
Definition: options.h:63
The Options structure is passed to mongo::client::initialize to configure various properties and conf...
Definition: options.h:32
TLSProtocol
The TLS protocols.
Definition: options.h:80
bool SSLEnabled() const
A convenience: returns true if SSL is not disabled (preferred or required).
Definition: options.h:145
Don't attempt to make SSL connections, or require SSL support of the server.
Definition: options.h:66