summaryrefslogtreecommitdiff
path: root/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h
diff options
context:
space:
mode:
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.h27
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