void CDBUriConnParams::ParseServer(const string& params, size_t cur_pos) { string::size_type pos = 0; pos = params.find_first_of(":/?", cur_pos); if (pos != string::npos) { string param_pairs; string server_name = params.substr(cur_pos, pos - cur_pos); SetServerName(server_name); switch (params[pos]) { case ':': cur_pos = pos + 1; pos = params.find_first_of("/?", cur_pos); if (pos != string::npos) { string port = params.substr(cur_pos, pos - cur_pos); SetPort(static_cast<Uint2>(NStr::StringToInt(port))); switch (params[pos]) { case '/': cur_pos = pos + 1; ParseSlash(params, cur_pos); break; case '?': param_pairs = params.substr(cur_pos); break; } } else { string port = params.substr(cur_pos); SetPort(static_cast<Uint2>(NStr::StringToInt(port))); } break; case '/': cur_pos = pos + 1; ParseSlash(params, cur_pos); break; case '?': param_pairs = params.substr(cur_pos); break; default: break; } } else { string server_name = params.substr(cur_pos); SetServerName(server_name); // No parameter pairs. We are at the end ... } }
void CDB_ODBC_ConnParams::x_MapPairToParam(const string& key, const string& value) { // MS SQL Server related attributes ... if (NStr::Equal(key, "SERVER", NStr::eNocase)) { SetServerName(value); } else if (NStr::Equal(key, "UID", NStr::eNocase)) { SetUserName(value); } else if (NStr::Equal(key, "PWD", NStr::eNocase)) { SetPassword(value); } else if (NStr::Equal(key, "DRIVER", NStr::eNocase)) { SetDriverName(value); } else if (NStr::Equal(key, "DATABASE", NStr::eNocase)) { SetDatabaseName(value); } else if (NStr::Equal(key, "ADDRESS", NStr::eNocase)) { string host; string port; NStr::SplitInTwo(value, ",", host, port); NStr::TruncateSpacesInPlace(host); NStr::TruncateSpacesInPlace(port); // SetHost(host); SetPort(static_cast<Uint2>(NStr::StringToInt(port))); } else { SetParam(key, value); } }
CDBDefaultConnParams::CDBDefaultConnParams( const string& srv_name, const string& user_name, const string& passwd, I_DriverContext::TConnectionMode mode, bool reusable, const string& pool_name) { SetServerName(srv_name); SetUserName(user_name); SetPassword(passwd); SetParam( "pool_name", pool_name ); SetParam( "secure_login", ((mode & I_DriverContext::fPasswordEncrypted) != 0) ? "true" : "false" ); SetParam( "is_pooled", reusable ? "true" : "false" ); SetParam( "do_not_connect", (mode & I_DriverContext::fDoNotConnect) != 0 ? "true" : "false" ); }
CServers::CServers( size_t uiID, const CServers& p ) : m_uiID( uiID ), m_eType( p.GetType() ), m_usPort( p.GetServerPort() ), m_ucGame( p.GetGameID() ), m_bLocked( p.GetLocked() ), m_ucServerPlayers( p.GetServerPlayers() ), m_ucServerMaxPlayers( p.GetServerMaxPlayers() ), m_usServerPing( p.GetServerPing() ), m_cQueryTime(0) { str_cpy( m_szIP, p.GetServerIP(), sizeof( m_szIP ) ); SetServerName( p.GetServerName() ); SetServerMode( p.GetServerMode() ); SetServerMap( p.GetServerMap() ); SetServerPass( p.GetServerPass() ); // Favs List m_uiListItem[ E_LT_FAV ] = p.GetListItem( E_LT_FAV ); // Internet List m_uiListItem[ E_LT_INTERNET ] = p.GetListItem( E_LT_INTERNET ); // Official List m_uiListItem[ E_LT_OFFICIAL ] = p.GetListItem( E_LT_OFFICIAL ); // History List m_uiListItem[ E_LT_HISTORY ] = p.GetListItem( E_LT_HISTORY ); // LAN List m_uiListItem[ E_LT_LAN ] = p.GetListItem( E_LT_LAN ); for ( size_t ui = 0; ui < MAX_PLAYERS; ui++ ) m_pPlayerList[ ui ] = p.GetPlayer( ui ); }
uint8_t ClientHandleChat( char * chat, uint8_t chatlen ) { if( chat[0] == '/' ) { if( strncmp( &chat[1], "title", 5 ) == 0 && chatlen > 8 ) { chat[chatlen] = 0; SetServerName( &chat[7] ); return 0; } } return chatlen; }
CServers::CServers( size_t uiID ) : m_uiID( uiID ), m_eType( E_ST_NONE ), m_usPort( 0 ), m_szPass( 0 ), m_ucGame( 0 ), m_bLocked( false ), m_ucServerPlayers( 0 ), m_szServerName( 0 ), m_szServerMode( 0 ), m_szServerMap( 0 ), m_ucServerMaxPlayers( 0 ), m_usServerPing( 9999 ), m_cQueryTime(0) { *m_szIP = 0; SetServerName( "Unknown Server" ); // Favs List m_uiListItem[ E_LT_FAV ] = -1; // Internet List m_uiListItem[ E_LT_INTERNET ] = -1; // Official List m_uiListItem[ E_LT_OFFICIAL ] = -1; // History List m_uiListItem[ E_LT_HISTORY ] = -1; // LAN List m_uiListItem[ E_LT_LAN ] = -1; for ( size_t ui = 0; ui < MAX_PLAYERS; ui++ ) m_pPlayerList[ ui ] = 0; }