Fawkes API  Fawkes Development Version
MongoDBClientConfig Class Reference

Client configuration. More...

#include <mongodb_client_config.h>

Public Types

enum  ConnectionMode { CONNECTION, REPLICA_SET }
 Connection mode enumeration. More...
 

Public Member Functions

 MongoDBClientConfig (fawkes::Configuration *config, fawkes::Logger *logger, std::string cfgname, std::string prefix)
 Constructor. More...
 
mongocxx::client * create_client ()
 Create MongoDB client for this configuration. More...
 
bool is_enabled () const
 Check if configuration is enabled. More...
 
std::string hostport () const
 Get host and port of configuration. More...
 
void log (fawkes::Logger *logger, const char *component, const char *indent)
 Write client configuration information to log. More...
 
ConnectionMode mode () const
 Get client configuration mode. More...
 

Detailed Description

Client configuration.

MongoDB Client Configuration. Instances of this class represent a single MongoDB client configuration used to initiate connections.

Author
Tim Niemueller

Definition at line 36 of file mongodb_client_config.h.

Member Enumeration Documentation

◆ ConnectionMode

Connection mode enumeration.

Enumerator
CONNECTION 

connect to single node

REPLICA_SET 

connect to replica set

Definition at line 40 of file mongodb_client_config.h.

Constructor & Destructor Documentation

◆ MongoDBClientConfig()

MongoDBClientConfig::MongoDBClientConfig ( fawkes::Configuration config,
fawkes::Logger logger,
std::string  cfgname,
std::string  prefix 
)

Constructor.

This will read the given configuration.

Parameters
configconfiguration to query
loggerlogger for info messages
cfgnameconfiguration name
prefixconfiguration path prefix

Definition at line 44 of file mongodb_client_config.cpp.

References fawkes::Configuration::get_bool(), fawkes::Configuration::get_string(), fawkes::Configuration::get_strings(), and fawkes::MultiLogger::log_info().

Member Function Documentation

◆ create_client()

mongocxx::client * MongoDBClientConfig::create_client ( )

Create MongoDB client for this configuration.

Returns
MongoDB client

Definition at line 138 of file mongodb_client_config.cpp.

Referenced by MongoDBReplicaSetConfig::init().

◆ hostport()

std::string MongoDBClientConfig::hostport ( ) const

Get host and port of configuration.

Returns
string of the form "host:port"

Definition at line 172 of file mongodb_client_config.cpp.

Referenced by MongoDBReplicaSetConfig::init().

◆ is_enabled()

bool MongoDBClientConfig::is_enabled ( ) const
inline

Check if configuration is enabled.

Returns
true if configuration is enabled, false otherwise

Definition at line 55 of file mongodb_client_config.h.

Referenced by MongoDBReplicaSetConfig::init().

◆ log()

void MongoDBClientConfig::log ( fawkes::Logger logger,
const char *  component,
const char *  indent 
)

Write client configuration information to log.

Parameters
loggerlogger to write to
componentcomponent to pass to logger
indentindentation to put before each string

Definition at line 149 of file mongodb_client_config.cpp.

References fawkes::MultiLogger::log_info().

◆ mode()

MongoDBClientConfig::ConnectionMode MongoDBClientConfig::mode ( ) const

Get client configuration mode.

Returns
mode, connection or replica set

Definition at line 187 of file mongodb_client_config.cpp.

Referenced by MongoDBReplicaSetConfig::init().


The documentation for this class was generated from the following files: