diff options
Diffstat (limited to 'src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h')
-rw-r--r-- | src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h index 2c27e0d20f..f66f1c6bb9 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h @@ -39,6 +39,8 @@ #include <memory> #include <string> +#include "utils/lock.h" +#include "utils/rwlock.h" #include "transport_manager/transport_adapter/transport_adapter.h" #include "transport_manager/transport_adapter/transport_adapter_controller.h" #include "transport_manager/transport_adapter/connection.h" @@ -99,6 +101,12 @@ class TransportAdapterImpl : public TransportAdapter, virtual TransportAdapter::Error Init(); /** + * @brief Stops device adapter + * Called from transport manager to stop device adapter + */ + virtual void Terminate(); + + /** * @brief Add listener to the container(list) of device adapter listeners. * * @param listener Pointer to the device adapter listener. @@ -493,7 +501,7 @@ class TransportAdapterImpl : public TransportAdapter, /** * @brief Mutex restricting access to device map. **/ - mutable pthread_mutex_t devices_mutex_; + mutable sync_primitives::Lock devices_mutex_; /** * @brief Container(map) of connections. @@ -503,9 +511,16 @@ class TransportAdapterImpl : public TransportAdapter, /** * @brief Mutex restricting access to connections map. **/ - mutable pthread_mutex_t connections_mutex_; + mutable sync_primitives::RWLock connections_lock_; protected: +#ifdef TIME_TESTER + /** + * @brief Pointer to time metric observer + */ + TMMetricObserver* metric_observer_; +#endif // TIME_TESTER + /** * @brief Pointer to the device scanner. */ @@ -520,14 +535,8 @@ class TransportAdapterImpl : public TransportAdapter, * @brief Pointer to the factory of connections initiated from client. */ ClientConnectionListener* client_connection_listener_; - -#ifdef TIME_TESTER - /** - * @brief Pointer to time metric observer - */ - TMMetricObserver* metric_observer_; -#endif // TIME_TESTER }; + } // namespace transport_adapter } // namespace transport_manager |