本文整理汇总了C++中ConfigManager::haveKey方法的典型用法代码示例。如果您正苦于以下问题:C++ ConfigManager::haveKey方法的具体用法?C++ ConfigManager::haveKey怎么用?C++ ConfigManager::haveKey使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConfigManager
的用法示例。
在下文中一共展示了ConfigManager::haveKey方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: initConfiguration
/**
* Init/Set several configuration values.
*/
void initConfiguration( ConfigManager & conf ) {
struct sysinfo si;
char localHostname[65];
conf.setStringValue("main.name", PROGNAME, false);
conf.setStringValue("main.version", PROGVERSION, false);
conf.setStringValue("main.build", QString(__DATE__ " " __TIME__), false );
// uptime of system
if( sysinfo(&si) == 0 )
conf.setStringValue("main.startTimestamp", QString::number( si.uptime ), false );
else
conf.setStringValue("main.startTimestamp", "1", false );
// load hostname
localHostname[64] = '\0'; // just to be sure
::gethostname( localHostname, 64 );
// char * hostnameEnv = getenv("HOSTNAME");
// printf("Hostname = %s\n", localHostname );
if ( localHostname[0] != '\0' && ::strnlen( localHostname, 64 ) > 0 )
conf.setStringValue( "hostname", QString( localHostname ).simplified(), false );
if ( !conf.haveKey( "hostname" ) ||
conf.getStringValue("hostname").isNull() || conf.getStringValue("hostname").isEmpty() )
conf.setStringValue("hostname","localhost", false);
// username (login)
char * usernameEnv = ::getenv("USER");
if ( usernameEnv && ::strnlen(usernameEnv, 64) > 0 )
conf.setStringValue( "username", QString( usernameEnv ).simplified(), false );
if ( !conf.haveKey( "username" ) ||
conf.getStringValue("username").isNull() || conf.getStringValue("username").isEmpty() )
conf.setStringValue("username","nobody", false);
}