diff options
Diffstat (limited to 'client/Config.h')
-rw-r--r-- | client/Config.h | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/client/Config.h b/client/Config.h index 9b8a53e..ad30ebf 100644 --- a/client/Config.h +++ b/client/Config.h @@ -9,12 +9,64 @@ class ProxyEntryGeneric; class ProxyEntryStatic; +/** + * @brief Singleton class that represents client configuration + */ class Config { public: + /** + * @brief Retrieve application-wide instance of Config class + * @return Pointer to singleton instance of Config class + */ static Config *CurrentConfig(); + + /** + * @brief Update client configuration + * @todo update config periodically on timer events + */ void AcquireConfig(); + + /** + * @brief Check whether current confguration is valid <br/> + * It may become invalid in case if server is not reachable. + * So every time you want to access Config membres or methods you should check this value + * @return true if configuration is valid and false otherwise + */ bool IsConfigValid(); + + /** + * @brief Get list of country names where at least one proxy available<br/> + * (generic proxy records only) + * @return Alphabetically sorted vector<string> with unique country names + */ + std::vector<std::string> GetCountries(); + + /** + * @brief Get list of country states where at least one proxy available<br/> + * (generic proxy records only) + * @param country name of country to get list of states for + * @return Alphabetically sorted vector<string> with unique state names.<br/> + * Resultant vector<string> may be empty in case if there are no states in specified country + */ + std::vector<std::string> GetStates(std::string &country); + + /** + * @brief Get list of cities in particular country without states<br/> + * (generic proxy records only) + * @param country name of country to get list of states for + * @return Alphabetically sorted vector<string> with unique city names<br/> + */ + std::vector<std::string> GetCities(std::string &country); + + /** + * @brief Get list of cities in particular country and state<br/> + * (generic proxy records only) + * @param country name of country to get list of states for + * @param state name state to get list of proxies for<br/> + * @return Alphabetically sorted vector<string> with unique city names + */ + std::vector<std::string> GetCities(std::string &country, std::string &state); protected: Config(); private: |