Bayeux  3.4.1
Core Foundation library for SuperNEMO
Classes | Namespaces | Typedefs | Enumerations | Functions
service_tools.h File Reference
#include <string>
#include <map>
#include <vector>
#include <memory>
#include <boost/cstdint.hpp>
#include <datatools/exception.h>
#include <datatools/handle.h>
#include <datatools/i_tree_dump.h>
#include <datatools/properties.h>
#include <datatools/bit_mask.h>

Go to the source code of this file.

Classes

struct  datatools::dependency_info_type
 Record that stores informations about the dependency between services : More...
 
class  datatools::service_entry
 Internal entry for service objects stored in the service manager class. More...
 

Namespaces

 datatools
 The Bayeux/datatools library top-level namespace.
 

Typedefs

typedef datatools::handle< base_service > datatools::service_handle_type
 
typedef std::map< std::string, int > datatools::dependency_level_dict_type
 
typedef std::map< std::string, dependency_info_type > datatools::service_dependency_dict_type
 
typedef std::shared_ptr< service_entry > datatools::service_entry_ptr
 Type alias for a shared pointer on a service entry instance. More...
 
typedef std::map< std::string, service_entry_ptr > datatools::service_dict_type
 Type alias for a flat dictionary of service entries. More...
 

Enumerations

enum  datatools::dependency_level_type {
  datatools::DEPENDENCY_UNKNOWN = -1, datatools::DEPENDENCY_NONE = 0, datatools::DEPENDENCY_OPTIONAL = 1, datatools::DEPENDENCY_WEAK = 2,
  datatools::DEPENDENCY_STRICT = 3
}
 Constants to measure the level of dependance between services. More...
 

Functions

bool datatools::service_exists (const service_dict_type &services_, const std::string &service_name_)
 Check if a service with given name exists. More...
 
bool datatools::service_of_type_exists (const service_dict_type &services_, const std::string &service_type_id_, const std::string &service_name_)
 Check if a service with given name and registered service type identifier exists. More...
 
void datatools::merge_services (service_dict_type &services_, service_dict_type &merged_, bool duplicate_throw_=false)
 Merge a service dictionary. More...
 
bool datatools::find_service_name_with_id (const service_dict_type &services_, const std::string &service_type_id_, std::string &service_name_)
 Find the service name with given registered service type identifier from a dictionary of services. More...
 
bool datatools::find_service_names_with_id (const service_dict_type &services_, const std::string &service_type_id_, std::vector< std::string > &service_names_)
 Find all service names with given registered service type identifier from a dictionary of services. More...
 
base_service & datatools::grab_service (service_dict_type &services_, const std::string &service_name_)
 Return the mutable reference to a service given its name. More...
 
const base_service & datatools::get_service (const service_dict_type &services_, const std::string &service_name_)
 Return the const reference to a service given its name. More...