diff options
Diffstat (limited to 'client/Config.cpp')
-rw-r--r-- | client/Config.cpp | 29 |
1 files changed, 25 insertions, 4 deletions
diff --git a/client/Config.cpp b/client/Config.cpp index 16c82ac..614d95f 100644 --- a/client/Config.cpp +++ b/client/Config.cpp @@ -49,7 +49,7 @@ vector<string> Config::GetCountries() return countries; } -vector<string> Config::GetStates(std::string &country) +vector<string> Config::GetStates(string &country) { vector<string> states; for (unsigned i = 0; i < genericProxy.size(); i++) @@ -69,14 +69,13 @@ vector<string> Config::GetStates(std::string &country) return states; } -vector<string> Config::GetCities(std::string &country) +vector<string> Config::GetCities(string &country) { - Logger::Trace("Getting cities in countre: %s", country.c_str()); string defState = "-"; return GetCities(country, defState); } -vector<string> Config::GetCities(std::string &country, std::string &state) +vector<string> Config::GetCities(string &country, string &state) { vector<string> cities; for (unsigned i = 0; i < genericProxy.size(); i++) @@ -93,6 +92,28 @@ vector<string> Config::GetCities(std::string &country, std::string &state) return cities; } +vector<string> Config::GetProxies(string &country, string &city) +{ + string defState = "-"; + return GetProxies(country, defState, city); +} + +vector<string> Config::GetProxies(string &country, string &state, string &city) +{ + vector<string> proxies; + for (unsigned i = 0; i < genericProxy.size(); i++) + { + if ((genericProxy[i].state == state) && + (genericProxy[i].country == country) && + (genericProxy[i].city == city)) + { + proxies.push_back(genericProxy[i].host); + } + } + sort(proxies.begin(), proxies.end()); + return proxies; +} + int Config::ReadGenericProxy() { Logger::Info("Parsing generic proxy list\n"); |