bool LoadConfFile()
{
char buffer[ 256 ];
char strConfFilePath[] = "../server.conf";
if( access( strConfFilePath, F_OK ) != 0 )
{
memset( buffer, 0, sizeof( buffer ) );
sprintf( buffer, "Error: config file not exist! Using default rtdbIP and rtdbPort!" );
printf( "%s\n", buffer );
CLogger::GetInstance()->AddLog( buffer, strlen( buffer ) );
return false;
}
//open config file
fstream fs;
fs.open( strConfFilePath );
if( !fs.is_open() )
{
memset( buffer, 0, sizeof( buffer ) );
sprintf( buffer, "Error: open config file failed! filePath=%s", strConfFilePath );
printf( "%s\n", buffer );
CLogger::GetInstance()->AddLog( buffer, strlen( buffer ) );
return false;
}
//read config file
bool bFindIP = false;
bool bFindPort = false;
while( !fs.eof() )
{
memset( buffer, 0, sizeof( buffer ) );
fs.getline( buffer, sizeof( buffer ) );
// printf( "%s\n", buffer );
string strLine( buffer );
remove( strLine.begin(), strLine.end(), ' ' );//remove blank space
size_t nPos = strLine.find( "=" );
if( nPos == string::npos ) //not find
continue;
string strKey = strLine.substr( 0, nPos );
string strValue = strLine.substr( nPos+1 );
if( strKey == "rtdbIP" )
{
m_strRtdbServerIP = strValue;
bFindIP = true;
}
else if( strKey == "rtdbPort" )
{
m_nRtdbServerPort = atoi( strValue.c_str() );
bFindPort = true;
}
}
if( !bFindIP )
{
memset( buffer, 0, sizeof( buffer ) );
sprintf( buffer, "Error: cannot find rtdbIP in config file! filePath=%s", strConfFilePath );
printf( "%s\n", buffer );
CLogger::GetInstance()->AddLog( buffer, strlen( buffer ) );
return false;
}
if( !bFindPort )
{
memset( buffer, 0, sizeof( buffer ) );
sprintf( buffer, "Error: cannot find rtdbPort in config file! filePath=%s", strConfFilePath );
printf( "%s\n", buffer );
CLogger::GetInstance()->AddLog( buffer, strlen( buffer ) );
return false;
}
return true;
}