summaryrefslogtreecommitdiff
path: root/src/components/include/transport_manager
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/include/transport_manager')
-rw-r--r--src/components/include/transport_manager/error.h4
-rw-r--r--src/components/include/transport_manager/transport_adapter/device.h5
-rw-r--r--src/components/include/transport_manager/transport_adapter/transport_adapter.h27
-rw-r--r--src/components/include/transport_manager/transport_adapter/transport_adapter_event.h27
-rw-r--r--src/components/include/transport_manager/transport_manager_listener.h9
-rw-r--r--src/components/include/transport_manager/transport_manager_listener_empty.h8
-rw-r--r--src/components/include/transport_manager/transport_manager_settings.h6
7 files changed, 51 insertions, 35 deletions
diff --git a/src/components/include/transport_manager/error.h b/src/components/include/transport_manager/error.h
index 022ddf0e38..ba357dd54b 100644
--- a/src/components/include/transport_manager/error.h
+++ b/src/components/include/transport_manager/error.h
@@ -34,7 +34,7 @@
#define SRC_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_ERROR_H_
#include <string>
-#include <utils/shared_ptr.h>
+#include <memory>
namespace transport_manager {
@@ -79,7 +79,7 @@ class BaseError {
private:
std::string description_;
};
-typedef utils::SharedPtr<BaseError> BaseErrorPtr;
+typedef std::shared_ptr<BaseError> BaseErrorPtr;
/**
* @brief Error that originates during device search.
diff --git a/src/components/include/transport_manager/transport_adapter/device.h b/src/components/include/transport_manager/transport_adapter/device.h
index 148e715050..1ac1424477 100644
--- a/src/components/include/transport_manager/transport_adapter/device.h
+++ b/src/components/include/transport_manager/transport_adapter/device.h
@@ -35,9 +35,10 @@
#include <string>
#include <vector>
+#include <memory>
#include "transport_manager/common.h"
-#include "utils/shared_ptr.h"
+
#include "utils/macro.h"
namespace transport_manager {
@@ -160,7 +161,7 @@ class Device {
**/
bool keep_on_disconnect_;
};
-typedef utils::SharedPtr<Device> DeviceSptr;
+typedef std::shared_ptr<Device> DeviceSptr;
typedef std::vector<DeviceSptr> DeviceVector;
} // namespace transport_adapter
} // namespace transport_manager
diff --git a/src/components/include/transport_manager/transport_adapter/transport_adapter.h b/src/components/include/transport_manager/transport_adapter/transport_adapter.h
index 7f6d347535..ebbf7dae28 100644
--- a/src/components/include/transport_manager/transport_adapter/transport_adapter.h
+++ b/src/components/include/transport_manager/transport_adapter/transport_adapter.h
@@ -41,8 +41,6 @@
#include <list>
#include <map>
-#include "utils/shared_ptr.h"
-
#include "transport_manager/transport_adapter/device.h"
#include "transport_manager/common.h"
#include "transport_manager/error.h"
@@ -59,17 +57,16 @@ class TransportAdapterListener;
/**
* @brief The DeviceType enum defines types based on available transport
* adapters
- * @deprecated PASA_AOA, PASA_BLUETOOTH, MME
*/
enum DeviceType {
AOA,
- PASA_AOA,
BLUETOOTH,
- PASA_BLUETOOTH,
- MME,
IOS_BT,
IOS_USB,
TCP,
+ IOS_USB_HOST_MODE,
+ IOS_USB_DEVICE_MODE,
+ IOS_CARPLAY_WIRELESS, // running on iAP over Carplay wireless transport
UNKNOWN
};
@@ -86,6 +83,18 @@ typedef std::map<DeviceUID, DeviceSptr> DeviceMap;
*/
typedef std::list<TransportAdapterListener*> TransportAdapterListenerList;
+/**
+ * @brief Type definition for transport's configuration information
+ */
+typedef std::map<std::string, std::string> TransportConfig;
+
+/**
+ * @brief TransportConfig keys
+ */
+extern const char* tc_enabled;
+extern const char* tc_tcp_port;
+extern const char* tc_tcp_ip_address;
+
class TransportAdapter {
public:
/**
@@ -312,6 +321,12 @@ class TransportAdapter {
virtual void DeviceSwitched(const DeviceUID& device_handle) = 0;
virtual SwitchableDevices GetSwitchableDevices() const = 0;
+
+ /**
+ * @brief Returns the transport's configuration information
+ */
+ virtual TransportConfig GetTransportConfiguration() const = 0;
+
#ifdef TELEMETRY_MONITOR
/**
* @brief Return Time metric observer
diff --git a/src/components/include/transport_manager/transport_adapter/transport_adapter_event.h b/src/components/include/transport_manager/transport_adapter/transport_adapter_event.h
index 18f4ccb2d1..fd1d693067 100644
--- a/src/components/include/transport_manager/transport_adapter/transport_adapter_event.h
+++ b/src/components/include/transport_manager/transport_adapter/transport_adapter_event.h
@@ -57,7 +57,8 @@ enum class EventTypeEnum {
ON_RECEIVED_FAIL,
ON_COMMUNICATION_ERROR,
ON_UNEXPECTED_DISCONNECT,
- ON_TRANSPORT_SWITCH_REQUESTED
+ ON_TRANSPORT_SWITCH_REQUESTED,
+ ON_TRANSPORT_CONFIG_UPDATED
};
class TransportAdapterEvent {
@@ -87,30 +88,6 @@ class TransportAdapterEvent {
, event_error(error) {}
/**
- * DEPRECATED
- * @brief Constructor.
- *
- * @param type Event type.
- * @param transport_adapter Transport adapter
- * @param device_handle Handle of device.
- * @param application_id Handle of application.
- * @param data Smart pointer to the raw message.
- * @param error Error class that contains details of this error situation.
- */
- TransportAdapterEvent(int type,
- transport_adapter::TransportAdapter* adapter,
- const DeviceUID& device_handle,
- const ApplicationHandle& application_id,
- ::protocol_handler::RawMessagePtr data,
- BaseErrorPtr error)
- : event_type(static_cast<EventTypeEnum>(type))
- , application_id(application_id)
- , device_uid(device_handle)
- , transport_adapter(adapter)
- , event_data(data)
- , event_error(error) {}
-
- /**
* @brief Value that describe event type.
*/
EventTypeEnum event_type;
diff --git a/src/components/include/transport_manager/transport_manager_listener.h b/src/components/include/transport_manager/transport_manager_listener.h
index d336eade45..6c3f6e2eaa 100644
--- a/src/components/include/transport_manager/transport_manager_listener.h
+++ b/src/components/include/transport_manager/transport_manager_listener.h
@@ -33,6 +33,7 @@
#ifndef SRC_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_LISTENER_H_
#define SRC_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_LISTENER_H_
+#include <map>
#include <vector>
#include "transport_manager/common.h"
#include "transport_manager/info.h"
@@ -193,6 +194,14 @@ class TransportManagerListener {
virtual void OnTMMessageSendFailed(
const DataSendError& error,
const ::protocol_handler::RawMessagePtr message) = 0;
+
+ /**
+ * @brief Notifies that configuration of a transport has been updated.
+ *
+ * @param configs pairs of key and value that represent configuration.
+ */
+ virtual void OnTransportConfigUpdated(
+ const std::map<std::string, std::string>& configs) = 0;
};
} // namespace transport_manager
#endif // SRC_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_LISTENER_H_
diff --git a/src/components/include/transport_manager/transport_manager_listener_empty.h b/src/components/include/transport_manager/transport_manager_listener_empty.h
index ca6c573a06..08b2b77c30 100644
--- a/src/components/include/transport_manager/transport_manager_listener_empty.h
+++ b/src/components/include/transport_manager/transport_manager_listener_empty.h
@@ -187,6 +187,14 @@ class TransportManagerListenerEmpty : public TransportManagerListener {
void OnTMMessageSendFailed(
const DataSendError& error,
const ::protocol_handler::RawMessagePtr message) OVERRIDE {}
+
+ /**
+ * @brief Notifies that configuration of a transport has been updated.
+ *
+ * @param configs pairs of key and value that represent configuration.
+ */
+ void OnTransportConfigUpdated(
+ const std::map<std::string, std::string>& configs) OVERRIDE {}
};
} // namespace transport_manager
#endif // SRC_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_LISTENER_EMPTY_H_
diff --git a/src/components/include/transport_manager/transport_manager_settings.h b/src/components/include/transport_manager/transport_manager_settings.h
index feb3fa2c02..3912bbe747 100644
--- a/src/components/include/transport_manager/transport_manager_settings.h
+++ b/src/components/include/transport_manager/transport_manager_settings.h
@@ -63,6 +63,12 @@ class TransportManagerSettings : public TransportManagerMMESettings {
* the transport change timeout value.
*/
virtual uint32_t app_transport_change_timer_addition() const = 0;
+
+ /**
+ * @brief Returns the network interface name for TCP transport adapter
+ */
+ virtual const std::string& transport_manager_tcp_adapter_network_interface()
+ const = 0;
};
} // namespace transport_manager
#endif // SRC_COMPONENTS_INCLUDE_TRANSPORT_MANAGER_TRANSPORT_MANAGER_SETTINGS_H_