31 #ifndef DATATOOLS_LIBRARY_INFO_H 32 #define DATATOOLS_LIBRARY_INFO_H 47 class multi_properties;
61 static const std::string &
name();
62 static const std::string &
libname();
64 static const std::string &
urn();
65 static const std::string &
url();
66 static const std::string &
authors();
68 static const std::string &
version();
73 static const std::string &
modules();
117 void names(std::vector<std::string> &)
const;
120 void aliases(std::vector<std::string> &)
const;
123 void add_alias(
const std::string & library_alias_,
124 const std::string & library_name_);
151 std::string & library_name_,
152 std::string & topic_,
154 std::string & error_msg_);
162 std::string & resolved_path_,
163 std::string & error_msg_)
const;
167 const std::string & topic_,
168 const std::string & path_,
169 bool overwrite_ =
false);
173 const std::string & topic_);
177 const std::string & library_desc_ =
"",
178 const std::string & library_version_ =
"",
179 const std::string & install_prefix_ =
"",
180 const std::string & install_lib_path_ =
"",
181 const std::string & install_resource_path_ =
"");
187 bool has(
const std::string & library_key_)
const;
190 bool is_library(
const std::string & library_name_)
const;
193 bool is_alias(
const std::string & library_key_)
const;
196 std::string
resolve(
const std::string & library_key_,
197 bool check_ =
false)
const;
200 void update(
const std::string & library_name_,
201 const std::string & info_key_,
202 const std::string & info_value_,
203 const std::string & info_type_ =
"",
204 bool locked_ =
true);
207 void erase(
const std::string & library_name_,
208 const std::string & info_key_);
214 void print(
const std::string & library_name_,
215 std::ostream & out_ = std::clog)
const;
227 const properties &
get(
const std::string & library_key_)
const;
233 void tree_dump(std::ostream & out_ = std::clog,
234 const std::string & title_ =
"",
235 const std::string & indent_ =
"",
236 bool inherit_ =
false)
const;
246 std::map<std::string,std::string> _db_aliases_;
252 #endif // DATATOOLS_LIBRARY_INFO_H
Utilities for logging information.