diff options
Diffstat (limited to 'src/components/transport_manager/include/transport_manager/transport_adapter')
6 files changed, 43 insertions, 4 deletions
diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/connection.h b/src/components/transport_manager/include/transport_manager/transport_adapter/connection.h index 537e94b055..2374d8a126 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/connection.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/connection.h @@ -35,7 +35,6 @@ #ifndef SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_ADAPTER_CONNECTION_H_ #define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_ADAPTER_CONNECTION_H_ -#include "utils/shared_ptr.h" #include "transport_manager/transport_adapter/transport_adapter.h" namespace transport_manager { @@ -67,7 +66,7 @@ class Connection { virtual TransportAdapter::Error Disconnect() = 0; }; -typedef utils::SharedPtr<Connection> ConnectionSPtr; +typedef std::shared_ptr<Connection> ConnectionSPtr; } // namespace transport_adapter } // namespace transport_manager diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/threaded_socket_connection.h b/src/components/transport_manager/include/transport_manager/transport_adapter/threaded_socket_connection.h index 3792b94d7c..f1c679c123 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/threaded_socket_connection.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/threaded_socket_connection.h @@ -40,7 +40,7 @@ #include "transport_manager/transport_adapter/connection.h" #include "protocol/common.h" -#include "utils/atomic_object.h" +#include <atomic> #include "utils/threads/thread_delegate.h" #include "utils/lock.h" @@ -201,7 +201,7 @@ class ThreadedSocketConnection : public Connection { FrameQueue frames_to_send_; mutable sync_primitives::Lock frames_to_send_mutex_; - sync_primitives::atomic_int socket_; + std::atomic_int socket_; bool terminate_flag_; bool unexpected_disconnect_; const DeviceUID device_uid_; diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_controller.h b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_controller.h index 0b38f82637..69d76b4b2b 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_controller.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_controller.h @@ -204,6 +204,13 @@ class TransportAdapterController { const ApplicationHandle& app_handle, ::protocol_handler::RawMessagePtr message, const DataSendError&) = 0; + + /** + * @brief Notification that transport's configuration is updated + * + * @param new_config The new configuration of the transport + */ + virtual void TransportConfigUpdated(const TransportConfig& new_config) = 0; }; } // namespace transport_adapter 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 2b1ada79ad..078f93b32f 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 @@ -400,6 +400,13 @@ class TransportAdapterImpl : public TransportAdapter, const DataSendError& error) OVERRIDE; /** + * @brief Notification that transport's configuration is updated + * + * @param new_config The new configuration of the transport + */ + void TransportConfigUpdated(const TransportConfig& new_config) OVERRIDE; + + /** * @brief DoTransportSwitch notifies listeners of transport adapter events * that transport switching is requested by system */ @@ -420,6 +427,14 @@ class TransportAdapterImpl : public TransportAdapter, SwitchableDevices GetSwitchableDevices() const OVERRIDE; /** + * @brief Returns the transport's configuration information + */ + virtual TransportConfig GetTransportConfiguration() const OVERRIDE { + // default is empty + return TransportConfig(); + } + + /** * @brief Return name of device. * * @param device_id Device unique identifier. diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener.h b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener.h index 424fa53dea..4606bac2d4 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener.h @@ -277,6 +277,15 @@ class TransportAdapterListener { */ virtual void OnTransportSwitchRequested( const TransportAdapter* transport_adapter) = 0; + + /** + * @brief Notification that the transport's specific configuration has been + * updated. + * + * @param transport_adapter pointer to the transport adapter + */ + virtual void OnTransportConfigUpdated( + const TransportAdapter* transport_adapter) = 0; }; } // transport_adapter namespace diff --git a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener_impl.h b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener_impl.h index 8a8031c3cf..a744400279 100644 --- a/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener_impl.h +++ b/src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_listener_impl.h @@ -272,6 +272,15 @@ class TransportAdapterListenerImpl */ void OnTransportSwitchRequested(const TransportAdapter* adapter) OVERRIDE; + /** + * @brief Notification that the transport's specific configuration has been + * updated. + * + * @param transport_adapter pointer to the transport adapter + */ + void OnTransportConfigUpdated( + const transport_adapter::TransportAdapter* adapter) OVERRIDE; + private: TransportManager* transport_manager_; TransportAdapter* transport_adapter_; |