#include <service_registry.hpp>
Inherits boost::noncopyable.
Public Member Functions | |
| service_registry (asio::io_service &o) | |
| ~service_registry () | |
| template<typename Service> | |
| Service & | use_service () |
| template<typename Service> | |
| bool | add_service (Service *new_service) |
| template<typename Service> | |
| bool | has_service () const |
Private Member Functions | |
| void | init_service_id (asio::io_service::service &service, const asio::io_service::id &id) |
| template<typename Service> | |
| void | init_service_id (asio::io_service::service &service, const asio::detail::service_id< Service > &) |
| bool | service_id_matches (const asio::io_service::service &service, const asio::io_service::id &id) |
| template<typename Service> | |
| bool | service_id_matches (const asio::io_service::service &service, const asio::detail::service_id< Service > &) |
Private Attributes | |
| asio::detail::mutex | mutex_ |
| asio::io_service & | owner_ |
| asio::io_service::service * | first_service_ |
Definition at line 33 of file service_registry.hpp.
| asio::detail::service_registry::service_registry | ( | asio::io_service & | o | ) | [inline] |
Definition at line 38 of file service_registry.hpp.
| asio::detail::service_registry::~service_registry | ( | ) | [inline] |
Definition at line 45 of file service_registry.hpp.
References first_service_, asio::io_service::service::next_, and asio::io_service::service::shutdown_service().
| Service& asio::detail::service_registry::use_service | ( | ) | [inline] |
Definition at line 70 of file service_registry.hpp.
References first_service_, init_service_id(), asio::detail::scoped_lock< Mutex >::lock(), mutex_, asio::io_service::service::next_, owner_, service_id_matches(), and asio::detail::scoped_lock< Mutex >::unlock().
| bool asio::detail::service_registry::add_service | ( | Service * | new_service | ) | [inline] |
Definition at line 112 of file service_registry.hpp.
References first_service_, init_service_id(), mutex_, asio::io_service::service::next_, and service_id_matches().
| bool asio::detail::service_registry::has_service | ( | ) | const [inline] |
Definition at line 135 of file service_registry.hpp.
References first_service_, mutex_, asio::io_service::service::next_, and service_id_matches().
| void asio::detail::service_registry::init_service_id | ( | asio::io_service::service & | service, | |
| const asio::io_service::id & | id | |||
| ) | [inline, private] |
Definition at line 152 of file service_registry.hpp.
References asio::io_service::service::id_, and asio::io_service::service::type_info_.
Referenced by add_service(), and use_service().
| void asio::detail::service_registry::init_service_id | ( | asio::io_service::service & | service, | |
| const asio::detail::service_id< Service > & | ||||
| ) | [inline, private] |
Definition at line 161 of file service_registry.hpp.
References asio::io_service::service::id_, and asio::io_service::service::type_info_.
| bool asio::detail::service_registry::service_id_matches | ( | const asio::io_service::service & | service, | |
| const asio::io_service::id & | id | |||
| ) | [inline, private] |
Definition at line 169 of file service_registry.hpp.
References asio::io_service::service::id_.
Referenced by add_service(), has_service(), and use_service().
| bool asio::detail::service_registry::service_id_matches | ( | const asio::io_service::service & | service, | |
| const asio::detail::service_id< Service > & | ||||
| ) | [inline, private] |
Definition at line 177 of file service_registry.hpp.
References asio::io_service::service::type_info_.
asio::detail::mutex asio::detail::service_registry::mutex_ [mutable, private] |
Definition at line 184 of file service_registry.hpp.
Referenced by add_service(), has_service(), and use_service().
Definition at line 190 of file service_registry.hpp.
Referenced by add_service(), has_service(), use_service(), and ~service_registry().
1.5.6