31 #ifndef DATATOOLS_SERVICE_MANAGER_H 32 #define DATATOOLS_SERVICE_MANAGER_H 42 #include <boost/cstdint.hpp> 54 class multi_properties;
94 const std::string & description_ =
"",
95 uint32_t flag_ =
BLANK);
101 void set_name(
const std::string& name_);
107 const std::string&
get_name()
const;
158 template <
class ServiceClass>
179 bool has(
const std::string & name_)
const;
190 bool is_a(
const std::string & name_)
const;
197 T&
grab(
const std::string & name_);
203 const T&
get(
const std::string & name_)
const;
216 bool can_drop(
const std::string & name_)
const;
219 void drop(
const std::string & name_);
222 void load(
const std::string & name_,
223 const std::string & id_,
232 const std::string & id_);
251 const std::string& title_ =
"",
252 const std::string& indent_ =
"")
const;
255 virtual void tree_dump(std::ostream& out_ = std::clog,
256 const std::string& title_ =
"",
257 const std::string& indent_ =
"",
258 bool inherit_ =
false)
const;
276 const std::string& id_,
281 const std::string& id_,
300 void at_service_creation(
const std::string & service_name_,
const std::string & service_type_id_);
314 void set_preload(
bool preload_);
319 bool _initialized_ =
false;
321 std::string _description_;
322 bool _preload_ =
false;
323 bool _force_initialization_at_load_ =
false;
324 bool _allow_dynamic_services_ =
false;
327 base_service::factory_register_type _factory_register_;
347 #endif // DATATOOLS_SERVICE_MANAGER_H
Internal entry for service objects stored in the service manager class.
Definition: service_tools.h:85
DOCD_CLASS_DECLARATION(my::algo)
Declaration of the OCD support for the my::algo class.