Esempio n. 1
0
/**
 * 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);

}