From 3899450af16a0162aac8e91c5487c2a802c609d7 Mon Sep 17 00:00:00 2001 From: Alex Borisov Date: Tue, 25 Oct 2011 03:55:49 +0300 Subject: Config method to acquire country/state/city names. Doxygen docs --- client/Config.h | 52 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) (limited to 'client/Config.h') 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
+ * 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
+ * (generic proxy records only) + * @return Alphabetically sorted vector with unique country names + */ + std::vector GetCountries(); + + /** + * @brief Get list of country states where at least one proxy available
+ * (generic proxy records only) + * @param country name of country to get list of states for + * @return Alphabetically sorted vector with unique state names.
+ * Resultant vector may be empty in case if there are no states in specified country + */ + std::vector GetStates(std::string &country); + + /** + * @brief Get list of cities in particular country without states
+ * (generic proxy records only) + * @param country name of country to get list of states for + * @return Alphabetically sorted vector with unique city names
+ */ + std::vector GetCities(std::string &country); + + /** + * @brief Get list of cities in particular country and state
+ * (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
+ * @return Alphabetically sorted vector with unique city names + */ + std::vector GetCities(std::string &country, std::string &state); protected: Config(); private: -- cgit v1.2.3