summaryrefslogtreecommitdiff
path: root/client/Config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'client/Config.cpp')
-rw-r--r--client/Config.cpp29
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");