summaryrefslogtreecommitdiff
path: root/src/components/transport_manager
diff options
context:
space:
mode:
authorjacobkeeler <jacob.keeler@livioradio.com>2019-05-01 10:25:00 -0400
committerjacobkeeler <jacob.keeler@livioradio.com>2019-05-01 10:25:00 -0400
commit3b71054b5ed96df87a6e74800333b0f9de0ae9cd (patch)
treeb65aefc90375c8da089b807addbeca20d168176c /src/components/transport_manager
parent9eaacc0ea091e34b5c5a84e7c12b75ca4dc68cfa (diff)
parent79f16deef3c24b4e9c3147c057d2468bad0754b4 (diff)
downloadsdl_core-3b71054b5ed96df87a6e74800333b0f9de0ae9cd.tar.gz
Merge remote-tracking branch 'origin/master' into develop
Diffstat (limited to 'src/components/transport_manager')
-rw-r--r--src/components/transport_manager/CMakeLists.txt9
-rw-r--r--src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc3
-rw-r--r--src/components/transport_manager/src/transport_manager_default.cc6
-rw-r--r--src/components/transport_manager/src/transport_manager_impl.cc12
-rw-r--r--src/components/transport_manager/test/transport_adapter_test.cc2
-rw-r--r--src/components/transport_manager/test/transport_manager_impl_test.cc4
6 files changed, 29 insertions, 7 deletions
diff --git a/src/components/transport_manager/CMakeLists.txt b/src/components/transport_manager/CMakeLists.txt
index f1edb6e298..11986ee9fa 100644
--- a/src/components/transport_manager/CMakeLists.txt
+++ b/src/components/transport_manager/CMakeLists.txt
@@ -76,17 +76,22 @@ endif()
if(BUILD_CLOUD_APP_SUPPORT)
GET_PROPERTY(BOOST_LIBS_DIRECTORY GLOBAL PROPERTY GLOBAL_BOOST_LIBS)
list(APPEND LIBRARIES boost_system boost_regex -L${BOOST_LIBS_DIRECTORY})
+else()
+ list(APPEND EXCLUDE_PATHS
+ ${CMAKE_CURRENT_SOURCE_DIR}/include/transport_manager/cloud
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/cloud
+ )
endif()
if(BUILD_USB_SUPPORT)
if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
- set(EXCLUDE_PATHS
+ list(APPEND EXCLUDE_PATHS
${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/qnx
${COMPONENTS_DIR}/transport_manager/src/usb/qnx
)
elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
- set(EXCLUDE_PATHS
+ list(APPEND EXCLUDE_PATHS
${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/libusb
${COMPONENTS_DIR}/transport_manager/src/usb/libusb
)
diff --git a/src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc b/src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc
index 8298042d41..452a4c197c 100644
--- a/src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc
+++ b/src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc
@@ -87,7 +87,8 @@ void CloudWebsocketTransportAdapter::CreateDevice(const std::string& uid) {
// Extract host and port from endpoint string
boost::regex group_pattern(
"(wss?:\\/\\/)([A-Z\\d\\.-]{2,}\\.?([A-Z]{2,})?)(:)(\\d{2,5})(\\/"
- "[A-Z\\d\\.-]+)*\\/?");
+ "[A-Z\\d\\.-]+)*\\/?",
+ boost::regex::icase);
boost::smatch results;
std::string str = uid;
diff --git a/src/components/transport_manager/src/transport_manager_default.cc b/src/components/transport_manager/src/transport_manager_default.cc
index 41487b054b..71fc41ada9 100644
--- a/src/components/transport_manager/src/transport_manager_default.cc
+++ b/src/components/transport_manager/src/transport_manager_default.cc
@@ -46,7 +46,7 @@
#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
#include "transport_manager/cloud/cloud_websocket_transport_adapter.h"
-#endif
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
#if defined(BUILD_TESTS)
#include "transport_manager/iap2_emulation/iap2_transport_adapter.h"
@@ -105,7 +105,7 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
ta_usb = NULL;
#endif // USB_SUPPORT
-#if defined CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
+#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
transport_adapter::TransportAdapterImpl* ta_cloud =
new transport_adapter::CloudWebsocketTransportAdapter(last_state,
get_settings());
@@ -116,7 +116,7 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
#endif // TELEMETRY_MONITOR
AddTransportAdapter(ta_cloud);
ta_cloud = NULL;
-#endif
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
#if defined BUILD_TESTS
const uint16_t iap2_bt_emu_port = 23456;
diff --git a/src/components/transport_manager/src/transport_manager_impl.cc b/src/components/transport_manager/src/transport_manager_impl.cc
index 2d93b898b4..0c49401c80 100644
--- a/src/components/transport_manager/src/transport_manager_impl.cc
+++ b/src/components/transport_manager/src/transport_manager_impl.cc
@@ -50,7 +50,9 @@
#include "transport_manager/transport_manager_listener.h"
#include "transport_manager/transport_manager_listener_empty.h"
#include "transport_manager/transport_adapter/transport_adapter.h"
+#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
#include "transport_manager/cloud/cloud_websocket_transport_adapter.h"
+#endif
#include "transport_manager/transport_adapter/transport_adapter_event.h"
#include "config_profile/profile.h"
@@ -133,6 +135,9 @@ void TransportManagerImpl::ReconnectionTimeout() {
void TransportManagerImpl::AddCloudDevice(
const transport_manager::transport_adapter::CloudAppProperties&
cloud_properties) {
+#if !defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
+ LOG4CXX_TRACE(logger_, "Cloud app support is disabled. Exiting function");
+#else
transport_adapter::DeviceType type = transport_adapter::DeviceType::UNKNOWN;
if (cloud_properties.cloud_transport_type == "WS") {
type = transport_adapter::DeviceType::CLOUD_WEBSOCKET;
@@ -156,12 +161,17 @@ void TransportManagerImpl::AddCloudDevice(
cloud_properties);
}
}
-
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
return;
}
void TransportManagerImpl::RemoveCloudDevice(const DeviceHandle device_handle) {
+#if !defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
+ LOG4CXX_TRACE(logger_, "Cloud app support is disabled. Exiting function");
+ return;
+#else
DisconnectDevice(device_handle);
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
}
int TransportManagerImpl::ConnectDevice(const DeviceHandle device_handle) {
diff --git a/src/components/transport_manager/test/transport_adapter_test.cc b/src/components/transport_manager/test/transport_adapter_test.cc
index 5abfa4dfdd..1c707678a0 100644
--- a/src/components/transport_manager/test/transport_adapter_test.cc
+++ b/src/components/transport_manager/test/transport_adapter_test.cc
@@ -478,6 +478,7 @@ TEST_F(TransportAdapterTest, Disconnect_ConnectDoneSuccess) {
EXPECT_CALL(*serverMock, Terminate());
}
+#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
TEST_F(TransportAdapterTest, FindPending) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
@@ -608,6 +609,7 @@ TEST_F(TransportAdapterTest,
EXPECT_CALL(*serverMock, Terminate());
}
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
TEST_F(TransportAdapterTest, DisconnectDevice_DeviceAddedConnectionCreated) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
diff --git a/src/components/transport_manager/test/transport_manager_impl_test.cc b/src/components/transport_manager/test/transport_manager_impl_test.cc
index dbf0899a1b..c7d7024658 100644
--- a/src/components/transport_manager/test/transport_manager_impl_test.cc
+++ b/src/components/transport_manager/test/transport_manager_impl_test.cc
@@ -190,6 +190,7 @@ class TransportManagerImplTest : public ::testing::Test {
tm_.TestHandle(test_event);
}
+#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
void HandlePending() {
TransportAdapterEvent test_event(EventTypeEnum::ON_CONNECT_PENDING,
mock_adapter_,
@@ -207,6 +208,7 @@ class TransportManagerImplTest : public ::testing::Test {
tm_.TestHandle(test_event);
}
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
void HandleConnectionFailed() {
TransportAdapterEvent test_event(EventTypeEnum::ON_CONNECT_FAIL,
@@ -423,6 +425,7 @@ TEST_F(TransportManagerImplTest, DisconnectDevice_DeviceNotConnected) {
EXPECT_EQ(E_INVALID_HANDLE, tm_.DisconnectDevice(device_handle_));
}
+#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
TEST_F(TransportManagerImplTest, Pending) {
// Calling HandlePending twice verifies the connection_id stays the same if
// the connection exists.
@@ -448,6 +451,7 @@ TEST_F(TransportManagerImplTest, Pending) {
tm_.TestHandle(test_event);
}
+#endif // CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT
TEST_F(TransportManagerImplTest, Disconnect) {
// Arrange