17 #ifndef _GAZEBO_MODELDATABSE_HH_
18 #define _GAZEBO_MODELDATABSE_HH_
30 #define GZ_MODEL_MANIFEST_FILENAME "model.config"
33 #define GZ_MODEL_DB_MANIFEST_FILENAME "database.config"
40 class ModelDatabasePrivate;
59 public:
void Start(
bool _fetchImmediately =
false);
66 public: std::string GetURI();
73 public: std::map<std::string, std::string> GetModels();
83 void (
const std::map<std::string, std::string> &)> _func);
92 public: std::string GetModelName(
const std::string &_uri);
96 public: std::string GetModelConfig(
const std::string &_uri);
100 public: std::string GetDBConfig(
const std::string &_uri);
109 public: std::string GetModelPath(
const std::string &_uri,
110 bool _forceDownload =
false);
118 public: std::string GetModelFile(
const std::string &_uri);
126 public:
void DownloadDependencies(
const std::string &_path);
133 public:
bool HasModel(
const std::string &_modelName);
138 private: std::string GetManifestImpl(
const std::string &_uri);
143 private:
void UpdateModelCache(
bool _fetchImmediately);
147 private:
bool UpdateModelCacheImpl();
boost::shared_ptr< Connection > ConnectionPtr
Definition: CommonTypes.hh:147
Singleton template class.
Definition: SingletonT.hh:33
Private class attributes for ModelDatabase.
Definition: ModelDatabasePrivate.hh:35
#define GZ_COMMON_VISIBLE
Definition: system.hh:91
Connects to model database, and has utility functions to find models.
Definition: ModelDatabase.hh:48