18 #ifndef LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDER_FACTORY_H_ 19 #define LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDER_FACTORY_H_ 42 typedef std::function<Provider::Ptr(const Configuration&)>
Factory;
59 void enumerate(
const std::function<
void(
const std::string&,
const Factory&)>& enumerator);
71 std::map<std::string, Factory> factory_store;
77 #endif // LOCATION_SERVICE_COM_UBUNTU_LOCATION_PROVIDER_FACTORY_H_ void add_factory_for_name(const std::string &name, const Factory &factory)
std::function< Provider::Ptr(const Configuration &)> Factory
std::shared_ptr< Provider > Ptr
boost::property_tree::ptree Configuration
void enumerate(const std::function< void(const std::string &, const Factory &)> &enumerator)
com::ubuntu::location::Configuration Configuration
Provider::Ptr create_provider_for_name_with_config(const std::string &name, const Configuration &config)
static std::string extract_undecorated_name(const std::string &name)
static ProviderFactory & instance()