FONTAINE
1.0
|
#include <CLP.h>
Public Member Functions | |
CLP (std::string name, std::string version, std::string copyright, std::string url, std::string usage) | |
void | addUsage (const std::string usage) |
void | addSwitch (std::string name, std::string shortName, std::string description, unsigned numberOfArguments=0) |
std::string | getSwitchArgument (std::string name, unsigned index) |
bool | parse (unsigned int argc, const char *argv[]) |
bool | hasSwitchSet (std::string name) |
const std::vector< std::string > & | getArguments () |
const std::vector< std::string > & | getNetworkArguments () |
const std::vector< std::string > & | getMysqlArguments () |
bool | hasMysqlArguments () |
void | printCopyrightNotice () const |
void | printHelp () const |
void | printArguments () const |
Private Member Functions | |
void | _setSwitchArguments (std::string currentSwitch, unsigned int argc, const char *argv[], unsigned int ¤tIndex, CLS &cls) |
void | _processMysqlArguments (std::string argument) |
std::string | _getShortSwitchNameMapping (const std::string &shortName) |
bool | _shortNameExists (const std::string &shortName) |
Private Attributes | |
std::string | _name |
std::string | _version |
std::string | _copyright |
std::string | _url |
std::string | _usage |
std::map< std::string, std::string > | _shortSwitchMapping |
std::map< std::string, CLS > | _switches |
std::vector< std::string > | _arguments |
std::vector< std::string > | _networkArguments |
std::vector< std::string > | _mysqlArguments |
Static Private Attributes | |
static const std::string | _NETWORK_TYPE = "http://" |
static const std::string | _NETWORK_TYPE_SECURE = "https://" |
static const std::string | _MYSQL_TYPE = "mysql://" |
CLP::CLP | ( | std::string | name = "" , |
std::string | version = "" , |
||
std::string | copyright = "" , |
||
std::string | url = "" , |
||
std::string | usage = "" |
||
) |
References _copyright, _name, _url, _usage, and _version.
std::string CLP::_getShortSwitchNameMapping | ( | const std::string & | shortName | ) | [private] |
References _shortSwitchMapping.
Referenced by getSwitchArgument(), hasSwitchSet(), and parse().
void CLP::_processMysqlArguments | ( | std::string | argument | ) | [private] |
References _mysqlArguments.
Referenced by parse().
void CLP::_setSwitchArguments | ( | std::string | currentSwitch, |
unsigned int | argc, | ||
const char * | argv[], | ||
unsigned int & | currentIndex, | ||
CLS & | cls | ||
) | [private] |
_setSwitchArguments: Some of the switches require arguments. This method saves the arguments passed to a switch in a map.
References CLS::addSwitchArgument(), CLS::getNumberOfSwitchArguments(), CLS::resetSwitch(), and CLS::setSwitch().
Referenced by parse().
bool CLP::_shortNameExists | ( | const std::string & | shortName | ) | [private] |
References _shortSwitchMapping.
Referenced by addSwitch().
void CLP::addSwitch | ( | std::string | name, |
std::string | shortName, | ||
std::string | description, | ||
unsigned | numberOfArguments = 0 |
||
) |
References _shortNameExists(), _shortSwitchMapping, and _switches.
Referenced by main().
void CLP::addUsage | ( | const std::string | usage | ) |
const std::vector< std::string > & CLP::getArguments | ( | ) |
References _arguments.
Referenced by main().
const std::vector< std::string > & CLP::getMysqlArguments | ( | ) |
References _mysqlArguments.
const std::vector< std::string > & CLP::getNetworkArguments | ( | ) |
References _networkArguments.
std::string CLP::getSwitchArgument | ( | std::string | name, |
unsigned | index | ||
) |
getSwitchArgument: Some of the command line switches require arguments. This method returns the index'th argument specified by the user for a switch.
References _getShortSwitchNameMapping(), and _switches.
bool CLP::hasMysqlArguments | ( | ) | [inline] |
References _mysqlArguments.
bool CLP::hasSwitchSet | ( | std::string | name | ) |
References _getShortSwitchNameMapping(), and _switches.
Referenced by main().
bool CLP::parse | ( | unsigned int | argc, |
const char * | argv[] | ||
) |
parse: Parses the command line arguments. Returns false if there was an error encountered.
References _arguments, _getShortSwitchNameMapping(), _MYSQL_TYPE, _NETWORK_TYPE, _NETWORK_TYPE_SECURE, _networkArguments, _processMysqlArguments(), _setSwitchArguments(), _switches, and printHelp().
Referenced by main().
void CLP::printArguments | ( | void | ) | const |
References _arguments.
void CLP::printCopyrightNotice | ( | ) | const |
References _copyright, _name, _url, and _version.
Referenced by main(), and printHelp().
void CLP::printHelp | ( | ) | const |
References _switches, _usage, and printCopyrightNotice().
std::vector<std::string> CLP::_arguments [private] |
Referenced by getArguments(), parse(), and printArguments().
std::string CLP::_copyright [private] |
Referenced by CLP(), and printCopyrightNotice().
const std::string CLP::_MYSQL_TYPE = "mysql://" [static, private] |
Referenced by parse().
std::vector<std::string> CLP::_mysqlArguments [private] |
Referenced by _processMysqlArguments(), getMysqlArguments(), and hasMysqlArguments().
std::string CLP::_name [private] |
Referenced by CLP(), and printCopyrightNotice().
const std::string CLP::_NETWORK_TYPE = "http://" [static, private] |
Referenced by parse().
const std::string CLP::_NETWORK_TYPE_SECURE = "https://" [static, private] |
Referenced by parse().
std::vector<std::string> CLP::_networkArguments [private] |
Referenced by getNetworkArguments(), and parse().
std::map<std::string,std::string> CLP::_shortSwitchMapping [private] |
Referenced by _getShortSwitchNameMapping(), _shortNameExists(), and addSwitch().
std::map<std::string, CLS> CLP::_switches [private] |
Referenced by addSwitch(), getSwitchArgument(), hasSwitchSet(), parse(), and printHelp().
std::string CLP::_url [private] |
Referenced by CLP(), and printCopyrightNotice().
std::string CLP::_usage [private] |
Referenced by CLP(), and printHelp().
std::string CLP::_version [private] |
Referenced by CLP(), and printCopyrightNotice().