31 #ifndef DATATOOLS_URN_DB_SERVICE_H 32 #define DATATOOLS_URN_DB_SERVICE_H 41 #include <boost/graph/graph_traits.hpp> 42 #include <boost/graph/adjacency_list.hpp> 52 class dependency_graph;
168 const std::string & category_,
169 const std::string & description_);
171 const std::string & mounted_urn_);
193 const std::set<std::string> &
get_urns()
const;
195 std::set<std::string> _urns_;
269 virtual void tree_dump(std::ostream& out = std::clog,
270 const std::string & title =
"",
271 const std::string & indent =
"",
272 bool inherit =
false)
const;
275 void load(
const std::string & filename_);
278 void load_csv(
const std::string & filename_);
281 bool is_mounted(
const std::string & urn_)
const;
284 bool is_local(
const std::string & urn_)
const;
288 std::string & external_db_,
289 std::string & mounted_urn_);
298 const std::string & mounted_urn_);
302 const std::string & category_,
303 const std::string & description_ =
"");
306 void remove(
const std::string & urn_);
313 bool add_link(
const std::string & urn_from_,
314 const std::string & urn_to_,
315 const std::string & forward_topic_,
316 std::string & errmsg_);
319 void add_link(
const std::string & urn_from_,
320 const std::string & urn_to_,
321 const std::string & forward_topic_);
325 const std::string & urn_to_,
326 std::string & errmsg_);
330 const std::string & urn_to_);
337 const std::string & other_urn_,
338 const std::string & topic_ =
"")
const;
341 bool has_links(
const std::string & urn_)
const;
344 bool has(
const std::string & urn_)
const;
363 const uint32_t flags_)
const;
393 void add_topic(
const std::string & topic_);
396 void _process_node_components_(
const urn_record & urec_,
398 std::set<std::string> & processed_)
const;
404 std::set<std::string> _topics_;
410 urn_info & _grab_(
const std::string &);
420 void _add_backward_link_(
const std::string & urn_to_,
421 const std::string & urn_from_);
423 void _remove_backward_link_(
const std::string & urn_to_,
424 const std::string & urn_from_);
426 void _process_links_(
const std::string & urn_from_);
431 bool _initialized_ =
false;
432 bool _locked_ =
false;
435 std::set<std::string> _allowed_categories_;
436 std::set<std::string> _allowed_link_topics_;
437 bool _allow_mounted_ =
false;
456 #endif // DATATOOLS_URN_DB_SERVICE_H
void make(const urn_db_service &db_)
#define DATATOOLS_SERVICE_REGISTRATION_INTERFACE(SERVICE_CLASS_NAME)
Definition: base_service.h:152
const urn_db_service & get_db() const
DOCD_CLASS_DECLARATION(my::algo)
Declaration of the OCD support for the my::algo class.
External dependee URN database service.
Definition: urn_db_service.h:148