summaryrefslogtreecommitdiff
path: root/src/components/transport_manager
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/transport_manager')
-rw-r--r--src/components/transport_manager/include/transport_manager/bluetooth/bluetooth_transport_adapter.h6
-rw-r--r--src/components/transport_manager/include/transport_manager/cloud/cloud_websocket_transport_adapter.h2
-rw-r--r--src/components/transport_manager/include/transport_manager/iap2_emulation/iap2_transport_adapter.h20
-rw-r--r--src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h11
-rw-r--r--src/components/transport_manager/include/transport_manager/transport_adapter/transport_adapter_impl.h15
-rw-r--r--src/components/transport_manager/include/transport_manager/transport_manager_default.h15
-rw-r--r--src/components/transport_manager/include/transport_manager/transport_manager_impl.h3
-rw-r--r--src/components/transport_manager/include/transport_manager/usb/usb_aoa_adapter.h7
-rw-r--r--src/components/transport_manager/src/bluetooth/bluetooth_transport_adapter.cc31
-rw-r--r--src/components/transport_manager/src/cloud/cloud_websocket_transport_adapter.cc5
-rw-r--r--src/components/transport_manager/src/iap2_emulation/iap2_transport_adapter.cc8
-rw-r--r--src/components/transport_manager/src/tcp/tcp_transport_adapter.cc24
-rw-r--r--src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc4
-rw-r--r--src/components/transport_manager/src/transport_manager_default.cc44
-rw-r--r--src/components/transport_manager/src/transport_manager_impl.cc12
-rw-r--r--src/components/transport_manager/src/usb/usb_aoa_adapter.cc4
-rw-r--r--src/components/transport_manager/test/include/transport_manager/cloud/mock_cloud_websocket_transport_adapter.h4
-rw-r--r--src/components/transport_manager/test/include/transport_manager/tcp/mock_tcp_transport_adapter.h4
-rw-r--r--src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h11
-rw-r--r--src/components/transport_manager/test/include/transport_manager/usb/mock_usb_aoa_adapter.h4
-rw-r--r--src/components/transport_manager/test/tcp_transport_adapter_test.cc62
-rw-r--r--src/components/transport_manager/test/transport_adapter_test.cc106
-rw-r--r--src/components/transport_manager/test/transport_manager_default_test.cc64
-rw-r--r--src/components/transport_manager/test/transport_manager_impl_test.cc9
-rw-r--r--src/components/transport_manager/test/websocket_connection_test.cc7
25 files changed, 292 insertions, 190 deletions
diff --git a/src/components/transport_manager/include/transport_manager/bluetooth/bluetooth_transport_adapter.h b/src/components/transport_manager/include/transport_manager/bluetooth/bluetooth_transport_adapter.h
index c4bd02d64b..14f954286f 100644
--- a/src/components/transport_manager/include/transport_manager/bluetooth/bluetooth_transport_adapter.h
+++ b/src/components/transport_manager/include/transport_manager/bluetooth/bluetooth_transport_adapter.h
@@ -49,7 +49,11 @@ class BluetoothTransportAdapter : public TransportAdapterImpl {
/**
* @brief Constructor.
*/
- BluetoothTransportAdapter(resumption::LastState& last_state,
+ BluetoothTransportAdapter(resumption::LastStateWrapperPtr last_state_wrapper,
+ const TransportManagerSettings& settings);
+
+ DEPRECATED
+ BluetoothTransportAdapter(resumption::LastState&,
const TransportManagerSettings& settings);
/**
diff --git a/src/components/transport_manager/include/transport_manager/cloud/cloud_websocket_transport_adapter.h b/src/components/transport_manager/include/transport_manager/cloud/cloud_websocket_transport_adapter.h
index 138f9ca895..c8b2cc9508 100644
--- a/src/components/transport_manager/include/transport_manager/cloud/cloud_websocket_transport_adapter.h
+++ b/src/components/transport_manager/include/transport_manager/cloud/cloud_websocket_transport_adapter.h
@@ -50,7 +50,7 @@ class CloudWebsocketTransportAdapter : public TransportAdapterImpl {
* @brief Constructor.
*/
explicit CloudWebsocketTransportAdapter(
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings);
/**
diff --git a/src/components/transport_manager/include/transport_manager/iap2_emulation/iap2_transport_adapter.h b/src/components/transport_manager/include/transport_manager/iap2_emulation/iap2_transport_adapter.h
index a802a64afa..3dabfb39ca 100644
--- a/src/components/transport_manager/include/transport_manager/iap2_emulation/iap2_transport_adapter.h
+++ b/src/components/transport_manager/include/transport_manager/iap2_emulation/iap2_transport_adapter.h
@@ -33,7 +33,7 @@
#ifndef SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_IAP2_EMULATION_IAP2_TRANSPORT_ADAPTER_H_
#define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_IAP2_EMULATION_IAP2_TRANSPORT_ADAPTER_H_
-#include "resumption/last_state.h"
+#include "resumption/last_state_wrapper.h"
#include "transport_manager/tcp/tcp_transport_adapter.h"
#include "transport_manager/transport_manager_settings.h"
#include "utils/macro.h"
@@ -60,9 +60,14 @@ class IAP2BluetoothEmulationTransportAdapter : public TcpTransportAdapter {
*/
IAP2BluetoothEmulationTransportAdapter(
const uint16_t port,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings);
+ DEPRECATED
+ IAP2BluetoothEmulationTransportAdapter(
+ const uint16_t port,
+ resumption::LastState& last_state_wrapper,
+ const TransportManagerSettings& settings);
/**
* @brief DeviceSwitched is called during switching from iAP2 Bluetooth to
* iAP2 USB transport.
@@ -103,9 +108,16 @@ class IAP2USBEmulationTransportAdapter : public TcpTransportAdapter {
* @param last_state LastState instance reference
* @param settings Settings reference
*/
+ IAP2USBEmulationTransportAdapter(
+ const uint16_t port,
+ resumption::LastStateWrapperPtr last_state_wrapper,
+ const TransportManagerSettings& settings);
+
+ DEPRECATED
IAP2USBEmulationTransportAdapter(const uint16_t port,
- resumption::LastState& last_state,
- const TransportManagerSettings& settings);
+ resumption::LastState&,
+ const TransportManagerSettings& settings) =
+ delete;
/**
* Destructor
diff --git a/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h b/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h
index 37f5a7fe49..c5948062c9 100644
--- a/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h
+++ b/src/components/transport_manager/include/transport_manager/tcp/tcp_transport_adapter.h
@@ -49,9 +49,14 @@ class TcpTransportAdapter : public TransportAdapterImpl {
/**
* @brief Constructor.
*/
- explicit TcpTransportAdapter(uint16_t port,
- resumption::LastState& last_state,
- const TransportManagerSettings& settings);
+ TcpTransportAdapter(uint16_t port,
+ resumption::LastStateWrapperPtr last_state_wrapper,
+ const TransportManagerSettings& settings);
+
+ DEPRECATED
+ TcpTransportAdapter(uint16_t port,
+ resumption::LastState&,
+ const TransportManagerSettings& settings) = delete;
/**
* @brief Destructor.
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 5f54cf8376..db9bb03998 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
@@ -43,7 +43,7 @@
#include "utils/rwlock.h"
#include "utils/timer.h"
-#include "resumption/last_state.h"
+#include "resumption/last_state_wrapper.h"
#include "transport_manager/transport_adapter/connection.h"
#include "transport_manager/transport_adapter/transport_adapter.h"
#include "transport_manager/transport_adapter/transport_adapter_controller.h"
@@ -82,9 +82,16 @@ class TransportAdapterImpl : public TransportAdapter,
TransportAdapterImpl(DeviceScanner* device_scanner,
ServerConnectionFactory* server_connection_factory,
ClientConnectionListener* client_connection_listener,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings);
+ DEPRECATED
+ TransportAdapterImpl(DeviceScanner* device_scanner,
+ ServerConnectionFactory* server_connection_factory,
+ ClientConnectionListener* client_connection_listener,
+ resumption::LastState& last_state,
+ const TransportManagerSettings& settings) = delete;
+
/**
* @brief Destructor.
**/
@@ -662,7 +669,7 @@ class TransportAdapterImpl : public TransportAdapter,
#endif // TELEMETRY_MONITOR
resumption::LastState& last_state() const {
- return last_state_;
+ return last_state_wrapper_->get_accessor().GetMutableData();
}
/**
@@ -680,7 +687,7 @@ class TransportAdapterImpl : public TransportAdapter,
*/
ClientConnectionListener* client_connection_listener_;
- resumption::LastState& last_state_;
+ resumption::LastStateWrapperPtr last_state_wrapper_;
const TransportManagerSettings& settings_;
};
diff --git a/src/components/transport_manager/include/transport_manager/transport_manager_default.h b/src/components/transport_manager/include/transport_manager/transport_manager_default.h
index 63061b14b7..9d428cf817 100644
--- a/src/components/transport_manager/include/transport_manager/transport_manager_default.h
+++ b/src/components/transport_manager/include/transport_manager/transport_manager_default.h
@@ -38,10 +38,6 @@
#include "transport_manager/transport_manager_impl.h"
-namespace resumption {
-class LastState;
-}
-
namespace transport_manager {
struct TransportAdapterFactory {
@@ -50,19 +46,19 @@ struct TransportAdapterFactory {
using CreatorTA =
std::function<transport_adapter::TransportAdapter*(Args&&... args)>;
#ifdef BLUETOOTH_SUPPORT
- CreatorTA<resumption::LastState&, const TransportManagerSettings&>
+ CreatorTA<resumption::LastStateWrapperPtr&, const TransportManagerSettings&>
ta_bluetooth_creator_;
#endif
CreatorTA<const uint16_t,
- resumption::LastState&,
+ resumption::LastStateWrapperPtr&,
const TransportManagerSettings&>
ta_tcp_creator_;
#if defined(USB_SUPPORT)
- CreatorTA<resumption::LastState&, const TransportManagerSettings&>
+ CreatorTA<resumption::LastStateWrapperPtr&, const TransportManagerSettings&>
ta_usb_creator_;
#endif
#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
- CreatorTA<resumption::LastState&, const TransportManagerSettings&>
+ CreatorTA<resumption::LastStateWrapperPtr&, const TransportManagerSettings&>
ta_cloud_creator_;
#endif
};
@@ -80,6 +76,9 @@ class TransportManagerDefault : public TransportManagerImpl {
*
* @return Code error.
*/
+ int Init(resumption::LastStateWrapperPtr last_state_wrapper) OVERRIDE;
+
+ DEPRECATED
int Init(resumption::LastState& last_state) OVERRIDE;
/**
diff --git a/src/components/transport_manager/include/transport_manager/transport_manager_impl.h b/src/components/transport_manager/include/transport_manager/transport_manager_impl.h
index 5e97a5567e..2fbd592b72 100644
--- a/src/components/transport_manager/include/transport_manager/transport_manager_impl.h
+++ b/src/components/transport_manager/include/transport_manager/transport_manager_impl.h
@@ -124,6 +124,9 @@ class TransportManagerImpl
*
* @return Code error.
*/
+ int Init(resumption::LastStateWrapperPtr last_state_wrapper) OVERRIDE;
+
+ DEPRECATED
int Init(resumption::LastState& last_state) OVERRIDE;
/**
diff --git a/src/components/transport_manager/include/transport_manager/usb/usb_aoa_adapter.h b/src/components/transport_manager/include/transport_manager/usb/usb_aoa_adapter.h
index ee7039efde..45c6d4c0e4 100644
--- a/src/components/transport_manager/include/transport_manager/usb/usb_aoa_adapter.h
+++ b/src/components/transport_manager/include/transport_manager/usb/usb_aoa_adapter.h
@@ -44,8 +44,13 @@ namespace transport_adapter {
class UsbAoaAdapter : public TransportAdapterImpl {
public:
- UsbAoaAdapter(resumption::LastState& last_state,
+ UsbAoaAdapter(resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings);
+
+ DEPRECATED
+ UsbAoaAdapter(resumption::LastState&,
+ const TransportManagerSettings& settings) = delete;
+
virtual ~UsbAoaAdapter();
protected:
diff --git a/src/components/transport_manager/src/bluetooth/bluetooth_transport_adapter.cc b/src/components/transport_manager/src/bluetooth/bluetooth_transport_adapter.cc
index 911658bc56..066751c474 100644
--- a/src/components/transport_manager/src/bluetooth/bluetooth_transport_adapter.cc
+++ b/src/components/transport_manager/src/bluetooth/bluetooth_transport_adapter.cc
@@ -57,12 +57,13 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "TransportManager")
BluetoothTransportAdapter::~BluetoothTransportAdapter() {}
BluetoothTransportAdapter::BluetoothTransportAdapter(
- resumption::LastState& last_state, const TransportManagerSettings& settings)
+ resumption::LastStateWrapperPtr last_state_wrapper,
+ const TransportManagerSettings& settings)
: TransportAdapterImpl(
new BluetoothDeviceScanner(this, true, 0, settings.bluetooth_uuid()),
new BluetoothConnectionFactory(this),
NULL,
- last_state,
+ last_state_wrapper,
settings) {}
DeviceType BluetoothTransportAdapter::GetDeviceType() const {
@@ -112,23 +113,25 @@ void BluetoothTransportAdapter::Store() const {
}
}
bluetooth_adapter_dictionary["devices"] = devices_dictionary;
- Json::Value& dictionary = last_state().get_dictionary();
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ Json::Value dictionary = accessor.GetData().dictionary();
dictionary["TransportManager"]["BluetoothAdapter"] =
bluetooth_adapter_dictionary;
+ accessor.GetMutableData().set_dictionary(dictionary);
LOG4CXX_TRACE(logger_, "exit");
}
bool BluetoothTransportAdapter::Restore() {
LOG4CXX_TRACE(logger_, "enter");
bool errors_occured = false;
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ Json::Value dictionary = accessor.GetData().dictionary();
const Json::Value bluetooth_adapter_dictionary =
- last_state().get_dictionary()["TransportManager"]["BluetoothAdapter"];
+ dictionary["TransportManager"]["BluetoothAdapter"];
const Json::Value devices_dictionary =
bluetooth_adapter_dictionary["devices"];
- for (Json::Value::const_iterator i = devices_dictionary.begin();
- i != devices_dictionary.end();
- ++i) {
- const Json::Value device_dictionary = *i;
+ for (const auto& bt_device : devices_dictionary) {
+ const Json::Value device_dictionary = bt_device;
std::string name = device_dictionary["name"].asString();
std::string address_record = device_dictionary["address"].asString();
bdaddr_t address;
@@ -136,10 +139,8 @@ bool BluetoothTransportAdapter::Restore() {
RfcommChannelVector rfcomm_channels;
const Json::Value applications_dictionary =
device_dictionary["applications"];
- for (Json::Value::const_iterator j = applications_dictionary.begin();
- j != applications_dictionary.end();
- ++j) {
- const Json::Value application_dictionary = *j;
+ for (const auto& application : applications_dictionary) {
+ const Json::Value application_dictionary = application;
std::string rfcomm_channel_record =
application_dictionary["rfcomm_channel"].asString();
uint8_t rfcomm_channel =
@@ -150,11 +151,9 @@ bool BluetoothTransportAdapter::Restore() {
new BluetoothDevice(address, name.c_str(), rfcomm_channels);
DeviceSptr device(bluetooth_device);
AddDevice(device);
- for (RfcommChannelVector::const_iterator j = rfcomm_channels.begin();
- j != rfcomm_channels.end();
- ++j) {
+ for (const auto& channel : rfcomm_channels) {
ApplicationHandle app_handle =
- *j; // for Bluetooth device app_handle is just RFCOMM channel
+ channel; // for Bluetooth device app_handle is just RFCOMM channel
if (Error::OK != Connect(device->unique_device_id(), app_handle)) {
errors_occured = true;
}
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 622531b120..2d1de703b1 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
@@ -44,11 +44,12 @@ namespace transport_adapter {
CREATE_LOGGERPTR_GLOBAL(logger_, "TransportManager")
CloudWebsocketTransportAdapter::CloudWebsocketTransportAdapter(
- resumption::LastState& last_state, const TransportManagerSettings& settings)
+ resumption::LastStateWrapperPtr last_state_wrapper,
+ const TransportManagerSettings& settings)
: TransportAdapterImpl(NULL,
new CloudWebsocketConnectionFactory(this),
NULL,
- last_state,
+ last_state_wrapper,
settings) {}
CloudWebsocketTransportAdapter::~CloudWebsocketTransportAdapter() {}
diff --git a/src/components/transport_manager/src/iap2_emulation/iap2_transport_adapter.cc b/src/components/transport_manager/src/iap2_emulation/iap2_transport_adapter.cc
index 2e37f76bc9..6a43f66c64 100644
--- a/src/components/transport_manager/src/iap2_emulation/iap2_transport_adapter.cc
+++ b/src/components/transport_manager/src/iap2_emulation/iap2_transport_adapter.cc
@@ -54,9 +54,9 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "IAP2Emulation");
IAP2BluetoothEmulationTransportAdapter::IAP2BluetoothEmulationTransportAdapter(
const uint16_t port,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings)
- : TcpTransportAdapter(port, last_state, settings) {}
+ : TcpTransportAdapter(port, last_state_wrapper, settings) {}
void IAP2BluetoothEmulationTransportAdapter::DeviceSwitched(
const DeviceUID& device_handle) {
@@ -76,9 +76,9 @@ void IAP2BluetoothEmulationTransportAdapter::TransportConfigUpdated(
IAP2USBEmulationTransportAdapter::IAP2USBEmulationTransportAdapter(
const uint16_t port,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings)
- : TcpTransportAdapter(port, last_state, settings), out_(0) {
+ : TcpTransportAdapter(port, last_state_wrapper, settings), out_(0) {
auto delegate = new IAPSignalHandlerDelegate(*this);
signal_handler_ = threads::CreateThread("iAP signal handler", delegate);
signal_handler_->start();
diff --git a/src/components/transport_manager/src/tcp/tcp_transport_adapter.cc b/src/components/transport_manager/src/tcp/tcp_transport_adapter.cc
index aeb50f3830..54eb3a7b6d 100644
--- a/src/components/transport_manager/src/tcp/tcp_transport_adapter.cc
+++ b/src/components/transport_manager/src/tcp/tcp_transport_adapter.cc
@@ -53,7 +53,7 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "TransportManager")
TcpTransportAdapter::TcpTransportAdapter(
const uint16_t port,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings)
: TransportAdapterImpl(
NULL,
@@ -63,7 +63,7 @@ TcpTransportAdapter::TcpTransportAdapter(
port,
true,
settings.transport_manager_tcp_adapter_network_interface()),
- last_state,
+ last_state_wrapper,
settings) {}
TcpTransportAdapter::~TcpTransportAdapter() {}
@@ -131,20 +131,22 @@ void TcpTransportAdapter::Store() const {
}
}
tcp_adapter_dictionary["devices"] = devices_dictionary;
- Json::Value& dictionary = last_state().get_dictionary();
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ Json::Value dictionary = accessor.GetData().dictionary();
dictionary["TransportManager"]["TcpAdapter"] = tcp_adapter_dictionary;
+ accessor.GetMutableData().set_dictionary(dictionary);
}
bool TcpTransportAdapter::Restore() {
LOG4CXX_AUTO_TRACE(logger_);
bool errors_occurred = false;
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ Json::Value dictionary = accessor.GetData().dictionary();
const Json::Value tcp_adapter_dictionary =
- last_state().get_dictionary()["TransportManager"]["TcpAdapter"];
+ dictionary["TransportManager"]["TcpAdapter"];
const Json::Value devices_dictionary = tcp_adapter_dictionary["devices"];
- for (Json::Value::const_iterator i = devices_dictionary.begin();
- i != devices_dictionary.end();
- ++i) {
- const Json::Value device_dictionary = *i;
+ for (const auto& tcp_adapter_device : devices_dictionary) {
+ const Json::Value device_dictionary = tcp_adapter_device;
std::string name = device_dictionary["name"].asString();
std::string address_record = device_dictionary["address"].asString();
in_addr_t address = inet_addr(address_record.c_str());
@@ -153,10 +155,8 @@ bool TcpTransportAdapter::Restore() {
AddDevice(device);
const Json::Value applications_dictionary =
device_dictionary["applications"];
- for (Json::Value::const_iterator j = applications_dictionary.begin();
- j != applications_dictionary.end();
- ++j) {
- const Json::Value application_dictionary = *j;
+ for (const auto& application : applications_dictionary) {
+ const Json::Value application_dictionary = application;
std::string port_record = application_dictionary["port"].asString();
int port = atoi(port_record.c_str());
ApplicationHandle app_handle = tcp_device->AddDiscoveredApplication(port);
diff --git a/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc b/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc
index 78a9840401..4e057aee63 100644
--- a/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc
+++ b/src/components/transport_manager/src/transport_adapter/transport_adapter_impl.cc
@@ -70,7 +70,7 @@ TransportAdapterImpl::TransportAdapterImpl(
DeviceScanner* device_scanner,
ServerConnectionFactory* server_connection_factory,
ClientConnectionListener* client_connection_listener,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings)
: listeners_()
, initialised_(0)
@@ -86,7 +86,7 @@ TransportAdapterImpl::TransportAdapterImpl(
device_scanner_(device_scanner)
, server_connection_factory_(server_connection_factory)
, client_connection_listener_(client_connection_listener)
- , last_state_(last_state)
+ , last_state_wrapper_(last_state_wrapper)
, settings_(settings) {
}
diff --git a/src/components/transport_manager/src/transport_manager_default.cc b/src/components/transport_manager/src/transport_manager_default.cc
index 0d58e24b5c..868fcc3f15 100644
--- a/src/components/transport_manager/src/transport_manager_default.cc
+++ b/src/components/transport_manager/src/transport_manager_default.cc
@@ -57,29 +57,29 @@ CREATE_LOGGERPTR_GLOBAL(logger_, "TransportManager")
TransportAdapterFactory::TransportAdapterFactory() {
#ifdef BLUETOOTH_SUPPORT
- ta_bluetooth_creator_ = [](resumption::LastState& last_state,
+ ta_bluetooth_creator_ = [](resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings) {
- return new transport_adapter::BluetoothTransportAdapter(last_state,
+ return new transport_adapter::BluetoothTransportAdapter(last_state_wrapper,
settings);
};
#endif
ta_tcp_creator_ = [](const uint16_t port,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings) {
return new transport_adapter::TcpTransportAdapter(
- port, last_state, settings);
+ port, last_state_wrapper, settings);
};
#if defined(USB_SUPPORT)
- ta_usb_creator_ = [](resumption::LastState& last_state,
+ ta_usb_creator_ = [](resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings) {
- return new transport_adapter::UsbAoaAdapter(last_state, settings);
+ return new transport_adapter::UsbAoaAdapter(last_state_wrapper, settings);
};
#endif
#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
- ta_cloud_creator_ = [](resumption::LastState& last_state,
+ ta_cloud_creator_ = [](resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings) {
- return new transport_adapter::CloudWebsocketTransportAdapter(last_state,
- settings);
+ return new transport_adapter::CloudWebsocketTransportAdapter(
+ last_state_wrapper, settings);
};
#endif
}
@@ -89,9 +89,10 @@ TransportManagerDefault::TransportManagerDefault(
const TransportAdapterFactory& ta_factory)
: TransportManagerImpl(settings), ta_factory_(ta_factory) {}
-int TransportManagerDefault::Init(resumption::LastState& last_state) {
+int TransportManagerDefault::Init(
+ resumption::LastStateWrapperPtr last_state_wrapper) {
LOG4CXX_TRACE(logger_, "enter");
- if (E_SUCCESS != TransportManagerImpl::Init(last_state)) {
+ if (E_SUCCESS != TransportManagerImpl::Init(last_state_wrapper)) {
LOG4CXX_TRACE(logger_,
"exit with E_TM_IS_NOT_INITIALIZED. Condition: E_SUCCESS != "
"TransportManagerImpl::Init()");
@@ -101,7 +102,8 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
const auto& settings = get_settings();
#if defined(BLUETOOTH_SUPPORT)
- auto ta_bluetooth = ta_factory_.ta_bluetooth_creator_(last_state, settings);
+ auto ta_bluetooth =
+ ta_factory_.ta_bluetooth_creator_(last_state_wrapper, settings);
#ifdef TELEMETRY_MONITOR
if (metric_observer_) {
ta_bluetooth->SetTelemetryObserver(metric_observer_);
@@ -110,8 +112,10 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
AddTransportAdapter(ta_bluetooth);
#endif // BLUETOOTH_SUPPORT
- auto ta_tcp = ta_factory_.ta_tcp_creator_(
- settings.transport_manager_tcp_adapter_port(), last_state, settings);
+ auto ta_tcp =
+ ta_factory_.ta_tcp_creator_(settings.transport_manager_tcp_adapter_port(),
+ last_state_wrapper,
+ settings);
#ifdef TELEMETRY_MONITOR
if (metric_observer_) {
ta_tcp->SetTelemetryObserver(metric_observer_);
@@ -120,7 +124,7 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
AddTransportAdapter(ta_tcp);
#if defined(USB_SUPPORT)
- auto ta_usb = ta_factory_.ta_usb_creator_(last_state, settings);
+ auto ta_usb = ta_factory_.ta_usb_creator_(last_state_wrapper, settings);
#ifdef TELEMETRY_MONITOR
if (metric_observer_) {
ta_usb->SetTelemetryObserver(metric_observer_);
@@ -130,7 +134,7 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
#endif // USB_SUPPORT
#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
- auto ta_cloud = ta_factory_.ta_cloud_creator_(last_state, settings);
+ auto ta_cloud = ta_factory_.ta_cloud_creator_(last_state_wrapper, settings);
#ifdef TELEMETRY_MONITOR
if (metric_observer_) {
ta_cloud->SetTelemetryObserver(metric_observer_);
@@ -144,14 +148,14 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
transport_adapter::IAP2BluetoothEmulationTransportAdapter*
iap2_bt_emu_adapter =
new transport_adapter::IAP2BluetoothEmulationTransportAdapter(
- iap2_bt_emu_port, last_state, settings);
+ iap2_bt_emu_port, last_state_wrapper, settings);
AddTransportAdapter(iap2_bt_emu_adapter);
const uint16_t iap2_usb_emu_port = 34567;
transport_adapter::IAP2USBEmulationTransportAdapter* iap2_usb_emu_adapter =
new transport_adapter::IAP2USBEmulationTransportAdapter(
- iap2_usb_emu_port, last_state, settings);
+ iap2_usb_emu_port, last_state_wrapper, settings);
AddTransportAdapter(iap2_usb_emu_adapter);
#endif // BUILD_TEST
@@ -160,6 +164,10 @@ int TransportManagerDefault::Init(resumption::LastState& last_state) {
return E_SUCCESS;
}
+int TransportManagerDefault::Init(resumption::LastState&) {
+ return 1;
+}
+
TransportManagerDefault::~TransportManagerDefault() {}
} // namespace transport_manager
diff --git a/src/components/transport_manager/src/transport_manager_impl.cc b/src/components/transport_manager/src/transport_manager_impl.cc
index 07dd35bc2f..c6fd60a185 100644
--- a/src/components/transport_manager/src/transport_manager_impl.cc
+++ b/src/components/transport_manager/src/transport_manager_impl.cc
@@ -581,8 +581,18 @@ int TransportManagerImpl::SearchDevices() {
return transport_adapter_search;
}
+int TransportManagerImpl::Init(
+ resumption::LastStateWrapperPtr last_state_wrapper) {
+ // Last state wrapper required to initialize Transport adapters
+ UNUSED(last_state_wrapper);
+ LOG4CXX_TRACE(logger_, "enter");
+ is_initialized_ = true;
+ LOG4CXX_TRACE(logger_, "exit with E_SUCCESS");
+ return E_SUCCESS;
+}
+
int TransportManagerImpl::Init(resumption::LastState& last_state) {
- // Last state requred to initialize Transport adapters
+ // Last state required to initialize Transport adapters
UNUSED(last_state);
LOG4CXX_TRACE(logger_, "enter");
is_initialized_ = true;
diff --git a/src/components/transport_manager/src/usb/usb_aoa_adapter.cc b/src/components/transport_manager/src/usb/usb_aoa_adapter.cc
index d1e9c64c3b..9ce571eb6c 100644
--- a/src/components/transport_manager/src/usb/usb_aoa_adapter.cc
+++ b/src/components/transport_manager/src/usb/usb_aoa_adapter.cc
@@ -43,12 +43,12 @@ namespace transport_manager {
namespace transport_adapter {
CREATE_LOGGERPTR_GLOBAL(logger_, "TransportManager")
-UsbAoaAdapter::UsbAoaAdapter(resumption::LastState& last_state,
+UsbAoaAdapter::UsbAoaAdapter(resumption::LastStateWrapperPtr last_state_wrapper,
const TransportManagerSettings& settings)
: TransportAdapterImpl(new UsbDeviceScanner(this, settings),
new UsbConnectionFactory(this),
NULL,
- last_state,
+ last_state_wrapper,
settings)
, is_initialised_(false)
, usb_handler_(new UsbHandler()) {
diff --git a/src/components/transport_manager/test/include/transport_manager/cloud/mock_cloud_websocket_transport_adapter.h b/src/components/transport_manager/test/include/transport_manager/cloud/mock_cloud_websocket_transport_adapter.h
index 2d240ab3ff..6e74ae759f 100644
--- a/src/components/transport_manager/test/include/transport_manager/cloud/mock_cloud_websocket_transport_adapter.h
+++ b/src/components/transport_manager/test/include/transport_manager/cloud/mock_cloud_websocket_transport_adapter.h
@@ -45,9 +45,9 @@ class MockCloudWebsocketTransportAdapter
: public CloudWebsocketTransportAdapter {
public:
MockCloudWebsocketTransportAdapter(
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const transport_manager::TransportManagerSettings& settings)
- : CloudWebsocketTransportAdapter(last_state, settings) {}
+ : CloudWebsocketTransportAdapter(last_state_wrapper, settings) {}
MOCK_CONST_METHOD0(GetDeviceType, DeviceType());
MOCK_CONST_METHOD0(Store, void());
MOCK_METHOD0(Restore, bool());
diff --git a/src/components/transport_manager/test/include/transport_manager/tcp/mock_tcp_transport_adapter.h b/src/components/transport_manager/test/include/transport_manager/tcp/mock_tcp_transport_adapter.h
index fb84bce085..dbac183d32 100644
--- a/src/components/transport_manager/test/include/transport_manager/tcp/mock_tcp_transport_adapter.h
+++ b/src/components/transport_manager/test/include/transport_manager/tcp/mock_tcp_transport_adapter.h
@@ -45,9 +45,9 @@ class MockTCPTransportAdapter : public TcpTransportAdapter {
public:
MockTCPTransportAdapter(
uint16_t port,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const transport_manager::TransportManagerSettings& settings)
- : TcpTransportAdapter(port, last_state, settings) {}
+ : TcpTransportAdapter(port, last_state_wrapper, settings) {}
MOCK_CONST_METHOD2(
FindEstablishedConnection,
ConnectionSPtr(const transport_manager::DeviceUID& device_handle,
diff --git a/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h b/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h
index 592ed855cc..7b1d720ba2 100644
--- a/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h
+++ b/src/components/transport_manager/test/include/transport_manager/transport_adapter/mock_transport_adapter_impl.h
@@ -58,14 +58,21 @@ class MockTransportAdapterImpl : public TransportAdapterImpl {
DeviceScanner* device_scanner,
ServerConnectionFactory* server_connection_factory,
ClientConnectionListener* client_connection_listener,
- resumption::LastState& last_state,
+ resumption::LastStateWrapperPtr last_state_wrapper,
const transport_manager::TransportManagerSettings& settings)
: TransportAdapterImpl(device_scanner,
server_connection_factory,
client_connection_listener,
- last_state,
+ last_state_wrapper,
settings) {}
+ DEPRECATED
+ MockTransportAdapterImpl(DeviceScanner*,
+ ServerConnectionFactory*,
+ ClientConnectionListener*,
+ resumption::LastState&,
+ const transport_manager::TransportManagerSettings&);
+
ConnectionSPtr FindStatedConnection(const DeviceUID& device_handle,
const ApplicationHandle& app_handle) {
return this->FindEstablishedConnection(device_handle, app_handle);
diff --git a/src/components/transport_manager/test/include/transport_manager/usb/mock_usb_aoa_adapter.h b/src/components/transport_manager/test/include/transport_manager/usb/mock_usb_aoa_adapter.h
index 230f5ed170..affd6aee47 100644
--- a/src/components/transport_manager/test/include/transport_manager/usb/mock_usb_aoa_adapter.h
+++ b/src/components/transport_manager/test/include/transport_manager/usb/mock_usb_aoa_adapter.h
@@ -43,9 +43,9 @@ using namespace ::transport_manager::transport_adapter;
class MockUsbAoaAdapter : public UsbAoaAdapter {
public:
- MockUsbAoaAdapter(resumption::LastState& last_state,
+ MockUsbAoaAdapter(resumption::LastStateWrapperPtr last_state_wrapper,
const transport_manager::TransportManagerSettings& settings)
- : UsbAoaAdapter(last_state, settings) {}
+ : UsbAoaAdapter(last_state_wrapper, settings) {}
MOCK_CONST_METHOD0(GetDeviceType, DeviceType());
MOCK_CONST_METHOD0(IsInitialised, bool());
MOCK_METHOD1(AddListener, void(TransportAdapterListener* listener));
diff --git a/src/components/transport_manager/test/tcp_transport_adapter_test.cc b/src/components/transport_manager/test/tcp_transport_adapter_test.cc
index 0fbdc6d65f..cacdfb6fbd 100644
--- a/src/components/transport_manager/test/tcp_transport_adapter_test.cc
+++ b/src/components/transport_manager/test/tcp_transport_adapter_test.cc
@@ -34,6 +34,7 @@
#include "gtest/gtest.h"
#include "protocol/raw_message.h"
#include "resumption/last_state_impl.h"
+#include "resumption/last_state_wrapper_impl.h"
#include "transport_manager/mock_transport_manager_settings.h"
#include "transport_manager/tcp/mock_tcp_transport_adapter.h"
#include "transport_manager/transport_adapter/connection.h"
@@ -55,9 +56,13 @@ using namespace transport_manager::transport_adapter;
class TcpAdapterTest : public ::testing::Test {
protected:
- TcpAdapterTest() : last_state_("app_storage_folder", "app_info_storage") {}
+ TcpAdapterTest() {
+ last_state_wrapper_ = std::make_shared<resumption::LastStateWrapperImpl>(
+ std::make_shared<resumption::LastStateImpl>("app_storage_folder",
+ "app_info_storage"));
+ }
MockTransportManagerSettings transport_manager_settings;
- resumption::LastStateImpl last_state_;
+ std::shared_ptr<resumption::LastStateWrapperImpl> last_state_wrapper_;
const uint32_t port = 12345;
const std::string string_port = "12345";
std::string network_interface = "";
@@ -72,7 +77,7 @@ class TcpAdapterTest : public ::testing::Test {
TEST_F(TcpAdapterTest, StoreDataWithOneDeviceAndOneApplication) {
// Prepare
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
std::string uniq_id = "unique_device_name";
std::shared_ptr<MockTCPDevice> mockdev =
std::make_shared<MockTCPDevice>(port, uniq_id);
@@ -96,8 +101,9 @@ TEST_F(TcpAdapterTest, StoreDataWithOneDeviceAndOneApplication) {
transport_adapter.CallStore();
// Check that value is saved
- Json::Value& tcp_dict =
- last_state_.get_dictionary()["TransportManager"]["TcpAdapter"];
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ const Json::Value dictionary = accessor.GetData().dictionary();
+ const Json::Value& tcp_dict = dictionary["TransportManager"]["TcpAdapter"];
ASSERT_TRUE(tcp_dict.isObject());
ASSERT_FALSE(tcp_dict["devices"].isNull());
@@ -112,7 +118,7 @@ TEST_F(TcpAdapterTest, StoreDataWithOneDeviceAndOneApplication) {
TEST_F(TcpAdapterTest, StoreDataWithSeveralDevicesAndOneApplication) {
// Prepare
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
const uint32_t count_dev = 10;
std::shared_ptr<MockTCPDevice> mockdev[count_dev];
std::string uniq_id[count_dev];
@@ -148,8 +154,9 @@ TEST_F(TcpAdapterTest, StoreDataWithSeveralDevicesAndOneApplication) {
transport_adapter.CallStore();
// Check that values are saved
- Json::Value& tcp_dict =
- last_state_.get_dictionary()["TransportManager"]["TcpAdapter"];
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ const Json::Value dictionary = accessor.GetData().dictionary();
+ const Json::Value& tcp_dict = dictionary["TransportManager"]["TcpAdapter"];
ASSERT_TRUE(tcp_dict.isObject());
ASSERT_FALSE(tcp_dict["devices"].isNull());
@@ -166,7 +173,7 @@ TEST_F(TcpAdapterTest, StoreDataWithSeveralDevicesAndOneApplication) {
TEST_F(TcpAdapterTest, StoreDataWithSeveralDevicesAndSeveralApplications) {
// Prepare
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
const uint32_t count_dev = 10;
std::shared_ptr<MockTCPDevice> mockdev[count_dev];
@@ -206,8 +213,9 @@ TEST_F(TcpAdapterTest, StoreDataWithSeveralDevicesAndSeveralApplications) {
transport_adapter.CallStore();
// Check that value is saved
- Json::Value& tcp_dict =
- last_state_.get_dictionary()["TransportManager"]["TcpAdapter"];
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ const Json::Value dictionary = accessor.GetData().dictionary();
+ const Json::Value& tcp_dict = dictionary["TransportManager"]["TcpAdapter"];
ASSERT_TRUE(tcp_dict.isObject());
ASSERT_FALSE(tcp_dict["devices"].isNull());
@@ -225,7 +233,7 @@ TEST_F(TcpAdapterTest, StoreDataWithSeveralDevicesAndSeveralApplications) {
TEST_F(TcpAdapterTest, StoreData_ConnectionNotExist_DataNotStored) {
// Prepare
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
std::string uniq_id = "unique_device_name";
auto mockdev = std::make_shared<MockTCPDevice>(port, uniq_id);
transport_adapter.AddDevice(mockdev);
@@ -243,26 +251,32 @@ TEST_F(TcpAdapterTest, StoreData_ConnectionNotExist_DataNotStored) {
transport_adapter.CallStore();
// Check that value is not saved
- Json::Value& tcp_dict =
- last_state_.get_dictionary()["TransportManager"]["TcpAdapter"]["devices"];
+ resumption::LastStateAccessor accessor = last_state_wrapper_->get_accessor();
+ const Json::Value dictionary = accessor.GetData().dictionary();
+ const Json::Value& tcp_dict =
+ dictionary["TransportManager"]["TcpAdapter"]["devices"];
ASSERT_TRUE(tcp_dict.isNull());
}
TEST_F(TcpAdapterTest, RestoreData_DataNotStored) {
- Json::Value& tcp_adapter_dictionary =
- last_state_.get_dictionary()["TransportManager"]["TcpAdapter"];
-
- tcp_adapter_dictionary = Json::Value();
+ {
+ resumption::LastStateAccessor accessor =
+ last_state_wrapper_->get_accessor();
+ Json::Value dictionary = accessor.GetData().dictionary();
+ Json::Value& tcp_dictionary = dictionary["TransportManager"]["TcpAdapter"];
+ tcp_dictionary = Json::Value();
+ accessor.GetMutableData().set_dictionary(dictionary);
+ }
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
EXPECT_CALL(transport_adapter, Connect(_, _)).Times(0);
EXPECT_TRUE(transport_adapter.CallRestore());
}
TEST_F(TcpAdapterTest, StoreDataWithOneDevice_RestoreData) {
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
std::string uniq_id = "unique_device_name";
std::shared_ptr<MockTCPDevice> mockdev =
std::make_shared<MockTCPDevice>(port, uniq_id);
@@ -297,7 +311,7 @@ TEST_F(TcpAdapterTest, StoreDataWithOneDevice_RestoreData) {
TEST_F(TcpAdapterTest, StoreDataWithSeveralDevices_RestoreData) {
MockTCPTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
const uint32_t count_dev = 10;
std::shared_ptr<MockTCPDevice> mockdev[count_dev];
@@ -351,7 +365,7 @@ TEST_F(TcpAdapterTest, NotifyTransportConfigUpdated) {
MockTransportAdapterListener mock_adapter_listener;
TcpTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ port, last_state_wrapper_, transport_manager_settings);
transport_adapter.AddListener(&mock_adapter_listener);
TransportConfig config;
@@ -367,8 +381,8 @@ TEST_F(TcpAdapterTest, NotifyTransportConfigUpdated) {
}
TEST_F(TcpAdapterTest, GetTransportConfiguration) {
- TcpTransportAdapter transport_adapter(
- port, last_state_, transport_manager_settings);
+ MockTCPTransportAdapter transport_adapter(
+ port, last_state_wrapper_, transport_manager_settings);
TransportConfig config;
config[tc_enabled] = std::string("true");
diff --git a/src/components/transport_manager/test/transport_adapter_test.cc b/src/components/transport_manager/test/transport_adapter_test.cc
index 025c86f3ac..1773ecfb67 100644
--- a/src/components/transport_manager/test/transport_adapter_test.cc
+++ b/src/components/transport_manager/test/transport_adapter_test.cc
@@ -51,6 +51,7 @@
#include "config_profile/profile.h"
#include "resumption/last_state_impl.h"
+#include "resumption/last_state_wrapper_impl.h"
namespace test {
namespace components {
@@ -65,8 +66,11 @@ using namespace ::protocol_handler;
class TransportAdapterTest : public ::testing::Test {
protected:
- TransportAdapterTest()
- : last_state_("app_storage_folder", "app_info_storage") {}
+ TransportAdapterTest() {
+ last_state_wrapper_ = std::make_shared<resumption::LastStateWrapperImpl>(
+ std::make_shared<resumption::LastStateImpl>("app_storage_folder",
+ "app_info_storage"));
+ }
void SetUp() OVERRIDE {
dev_id = "device_id";
@@ -82,7 +86,7 @@ class TransportAdapterTest : public ::testing::Test {
}
NiceMock<MockTransportManagerSettings> transport_manager_settings;
- resumption::LastStateImpl last_state_;
+ std::shared_ptr<resumption::LastStateWrapperImpl> last_state_wrapper_;
std::string dev_id;
std::string uniq_id;
int app_handle;
@@ -228,7 +232,7 @@ TEST_F(TransportAdapterTest, Init) {
MockTransportAdapterImpl transport_adapter(dev_mock,
serverMock,
clientMock,
- last_state_,
+ last_state_wrapper_,
transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*dev_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -247,8 +251,11 @@ TEST_F(TransportAdapterTest, Init) {
TEST_F(TransportAdapterTest, SearchDevices_WithoutScanner) {
MockClientConnectionListener* clientMock = new MockClientConnectionListener();
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
- MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, clientMock, last_state_, transport_manager_settings);
+ MockTransportAdapterImpl transport_adapter(NULL,
+ serverMock,
+ clientMock,
+ last_state_wrapper_,
+ transport_manager_settings);
EXPECT_CALL(*clientMock, Init()).WillOnce(Return(TransportAdapter::OK));
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -264,7 +271,7 @@ TEST_F(TransportAdapterTest, SearchDevices_WithoutScanner) {
TEST_F(TransportAdapterTest, SearchDevices_DeviceNotInitialized) {
MockDeviceScanner* dev_mock = new MockDeviceScanner();
MockTransportAdapterImpl transport_adapter(
- dev_mock, NULL, NULL, last_state_, transport_manager_settings);
+ dev_mock, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*dev_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -280,7 +287,7 @@ TEST_F(TransportAdapterTest, SearchDevices_DeviceNotInitialized) {
TEST_F(TransportAdapterTest, SearchDevices_DeviceInitialized) {
MockDeviceScanner* dev_mock = new MockDeviceScanner();
MockTransportAdapterImpl transport_adapter(
- dev_mock, NULL, NULL, last_state_, transport_manager_settings);
+ dev_mock, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*dev_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -296,7 +303,7 @@ TEST_F(TransportAdapterTest, SearchDevices_DeviceInitialized) {
TEST_F(TransportAdapterTest, SearchDeviceDone_DeviceExisting) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -313,7 +320,7 @@ TEST_F(TransportAdapterTest, SearchDeviceDone_DeviceExisting) {
TEST_F(TransportAdapterTest, SearchDeviceFailed) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -328,7 +335,7 @@ TEST_F(TransportAdapterTest, SearchDeviceFailed) {
TEST_F(TransportAdapterTest, AddDevice) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -346,7 +353,7 @@ TEST_F(TransportAdapterTest, AddDevice) {
TEST_F(TransportAdapterTest, Connect_ServerNotSupported) {
MockClientConnectionListener* clientMock = new MockClientConnectionListener();
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, clientMock, last_state_, transport_manager_settings);
+ NULL, NULL, clientMock, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*clientMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -364,7 +371,7 @@ TEST_F(TransportAdapterTest, Connect_ServerNotSupported) {
TEST_F(TransportAdapterTest, Connect_ServerNotInitialized) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -382,7 +389,7 @@ TEST_F(TransportAdapterTest, Connect_ServerNotInitialized) {
TEST_F(TransportAdapterTest, Connect_Success) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -401,7 +408,7 @@ TEST_F(TransportAdapterTest, Connect_Success) {
TEST_F(TransportAdapterTest, Connect_DeviceAddedTwice) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -424,7 +431,7 @@ TEST_F(TransportAdapterTest, Connect_DeviceAddedTwice) {
TEST_F(TransportAdapterTest, ConnectDevice_ServerNotAdded_DeviceAdded) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -450,7 +457,7 @@ TEST_F(TransportAdapterTest, ConnectDevice_ServerNotAdded_DeviceAdded) {
TEST_F(TransportAdapterTest, ConnectDevice_DeviceNotAdded) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
@@ -471,7 +478,7 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceNotAdded) {
TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -504,7 +511,7 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded) {
TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded_ConnectFailedRetry) {
MockServerConnectionFactory* server_mock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, server_mock, NULL, last_state_, transport_manager_settings);
+ NULL, server_mock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*server_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -541,7 +548,7 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAdded_ConnectFailedRetry) {
TEST_F(TransportAdapterTest, ConnectDevice_DeviceAddedTwice) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -585,7 +592,7 @@ TEST_F(TransportAdapterTest, ConnectDevice_DeviceAddedTwice) {
TEST_F(TransportAdapterTest, Disconnect_ConnectDoneSuccess) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -618,7 +625,7 @@ TEST_F(TransportAdapterTest, Disconnect_ConnectDoneSuccess) {
TEST_F(TransportAdapterTest, FindPending) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -661,7 +668,7 @@ TEST_F(TransportAdapterTest,
Pending_Connect_Disconnect_ConnectDoneSuccess_PendingDeviceAdded) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -754,7 +761,7 @@ TEST_F(TransportAdapterTest,
TEST_F(TransportAdapterTest, WebsocketEndpointParsing_SUCCESS) {
std::shared_ptr<CloudWebsocketTransportAdapter> cta =
std::make_shared<CloudWebsocketTransportAdapter>(
- last_state_, transport_manager_settings);
+ last_state_wrapper_, transport_manager_settings);
for (auto protocol : kWebsocketProtocols) {
for (auto endpoint : kValidTestEndpoints) {
@@ -782,7 +789,7 @@ TEST_F(TransportAdapterTest, WebsocketEndpointParsing_SUCCESS) {
TEST_F(TransportAdapterTest, WebsocketEndpointParsing_INVALID) {
std::shared_ptr<CloudWebsocketTransportAdapter> cta =
std::make_shared<CloudWebsocketTransportAdapter>(
- last_state_, transport_manager_settings);
+ last_state_wrapper_, transport_manager_settings);
for (auto protocol : kWebsocketProtocols) {
for (auto endpoint : kInvalidTestEndpoints) {
@@ -802,7 +809,7 @@ TEST_F(TransportAdapterTest, WebsocketEndpointParsing_INVALID) {
TEST_F(TransportAdapterTest, WebsocketEndpointParsing_INCORRECT) {
std::shared_ptr<CloudWebsocketTransportAdapter> cta =
std::make_shared<CloudWebsocketTransportAdapter>(
- last_state_, transport_manager_settings);
+ last_state_wrapper_, transport_manager_settings);
for (auto protocol : kWebsocketProtocols) {
for (auto endpoint : kIncorrectTestEndpoints) {
@@ -832,7 +839,7 @@ TEST_F(TransportAdapterTest, WebsocketEndpointParsing_INCORRECT) {
TEST_F(TransportAdapterTest, DisconnectDevice_DeviceAddedConnectionCreated) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -876,7 +883,7 @@ TEST_F(TransportAdapterTest, DisconnectDevice_DeviceAddedConnectionCreated) {
TEST_F(TransportAdapterTest, DeviceDisconnected) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -926,7 +933,7 @@ TEST_F(TransportAdapterTest, DeviceDisconnected) {
TEST_F(TransportAdapterTest, AbortedConnectSuccess) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -952,8 +959,11 @@ TEST_F(TransportAdapterTest, AbortedConnectSuccess) {
TEST_F(TransportAdapterTest, SendData) {
MockDeviceScanner* dev_mock = new MockDeviceScanner();
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
- MockTransportAdapterImpl transport_adapter(
- dev_mock, serverMock, NULL, last_state_, transport_manager_settings);
+ MockTransportAdapterImpl transport_adapter(dev_mock,
+ serverMock,
+ NULL,
+ last_state_wrapper_,
+ transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*dev_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -995,7 +1005,7 @@ TEST_F(TransportAdapterTest, SendData_ConnectionNotEstablished) {
MockTransportAdapterImpl transport_adapter(dev_mock,
serverMock,
clientMock,
- last_state_,
+ last_state_wrapper_,
transport_manager_settings);
SetDefaultExpectations(transport_adapter);
@@ -1032,8 +1042,11 @@ TEST_F(TransportAdapterTest, SendData_ConnectionNotEstablished) {
TEST_F(TransportAdapterTest, StartClientListening_ClientNotInitialized) {
MockDeviceScanner* dev_mock = new MockDeviceScanner();
MockClientConnectionListener* clientMock = new MockClientConnectionListener();
- MockTransportAdapterImpl transport_adapter(
- dev_mock, NULL, clientMock, last_state_, transport_manager_settings);
+ MockTransportAdapterImpl transport_adapter(dev_mock,
+ NULL,
+ clientMock,
+ last_state_wrapper_,
+ transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*dev_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -1055,8 +1068,11 @@ TEST_F(TransportAdapterTest, StartClientListening_ClientNotInitialized) {
TEST_F(TransportAdapterTest, StartClientListening) {
MockDeviceScanner* dev_mock = new MockDeviceScanner();
MockClientConnectionListener* clientMock = new MockClientConnectionListener();
- MockTransportAdapterImpl transport_adapter(
- dev_mock, NULL, clientMock, last_state_, transport_manager_settings);
+ MockTransportAdapterImpl transport_adapter(dev_mock,
+ NULL,
+ clientMock,
+ last_state_wrapper_,
+ transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*dev_mock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -1083,7 +1099,7 @@ TEST_F(TransportAdapterTest, StopClientListening_Success) {
MockTransportAdapterImpl transport_adapter(dev_mock,
serverMock,
clientMock,
- last_state_,
+ last_state_wrapper_,
transport_manager_settings);
SetDefaultExpectations(transport_adapter);
@@ -1119,7 +1135,7 @@ TEST_F(TransportAdapterTest, FindNewApplicationsRequest) {
MockTransportAdapterImpl transport_adapter(dev_mock,
serverMock,
clientMock,
- last_state_,
+ last_state_wrapper_,
transport_manager_settings);
SetDefaultExpectations(transport_adapter);
@@ -1142,7 +1158,7 @@ TEST_F(TransportAdapterTest, FindNewApplicationsRequest) {
TEST_F(TransportAdapterTest, GetDeviceAndApplicationLists) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -1167,7 +1183,7 @@ TEST_F(TransportAdapterTest, GetDeviceAndApplicationLists) {
TEST_F(TransportAdapterTest, FindEstablishedConnection) {
MockServerConnectionFactory* serverMock = new MockServerConnectionFactory();
MockTransportAdapterImpl transport_adapter(
- NULL, serverMock, NULL, last_state_, transport_manager_settings);
+ NULL, serverMock, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(*serverMock, Init()).WillOnce(Return(TransportAdapter::OK));
@@ -1198,7 +1214,7 @@ TEST_F(TransportAdapterTest, RunAppOnDevice_NoDeviseWithAskedId_UNSUCCESS) {
const std::string bundle_id = "test_bundle_id";
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
std::shared_ptr<MockDevice> mock_device =
@@ -1218,7 +1234,7 @@ TEST_F(TransportAdapterTest, RunAppOnDevice_DeviseWithAskedIdWasFound_SUCCESS) {
const std::string device_uid = "test_device_uid";
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
std::shared_ptr<MockDevice> mock_device =
@@ -1235,7 +1251,7 @@ TEST_F(TransportAdapterTest, RunAppOnDevice_DeviseWithAskedIdWasFound_SUCCESS) {
TEST_F(TransportAdapterTest, StopDevice) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -1250,7 +1266,7 @@ TEST_F(TransportAdapterTest, StopDevice) {
TEST_F(TransportAdapterTest, TransportConfigUpdated) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
@@ -1269,7 +1285,7 @@ TEST_F(TransportAdapterTest, TransportConfigUpdated) {
TEST_F(TransportAdapterTest, GetTransportConfigration) {
MockTransportAdapterImpl transport_adapter(
- NULL, NULL, NULL, last_state_, transport_manager_settings);
+ NULL, NULL, NULL, last_state_wrapper_, transport_manager_settings);
SetDefaultExpectations(transport_adapter);
EXPECT_CALL(transport_adapter, Restore()).WillOnce(Return(true));
transport_adapter.Init();
diff --git a/src/components/transport_manager/test/transport_manager_default_test.cc b/src/components/transport_manager/test/transport_manager_default_test.cc
index 8a7f95c74b..bedc1634cc 100644
--- a/src/components/transport_manager/test/transport_manager_default_test.cc
+++ b/src/components/transport_manager/test/transport_manager_default_test.cc
@@ -32,6 +32,7 @@
#include "transport_manager/transport_manager_default.h"
#include "gtest/gtest.h"
+#include "resumption/last_state_wrapper_impl.h"
#include "resumption/mock_last_state.h"
#include "transport_manager/bt/mock_bluetooth_transport_adapter.h"
#include "transport_manager/cloud/mock_cloud_websocket_transport_adapter.h"
@@ -86,10 +87,13 @@ class TestTransportManagerDefault : public ::testing::Test {
public:
TestTransportManagerDefault()
: transport_manager_settings_()
+ , mock_last_state_(std::make_shared<MockLastState>())
, unique_tcp_dev_name_("unique_tcp_device_name")
, dev_id_("device_id")
, tcp_adapter_port_(1u)
- , network_interface_("test_iface") {}
+ , network_interface_("test_iface")
+ , last_state_wrapper_(std::make_shared<resumption::LastStateWrapperImpl>(
+ mock_last_state_)) {}
void SetUp() OVERRIDE {
EXPECT_CALL(transport_manager_settings_,
@@ -100,43 +104,45 @@ class TestTransportManagerDefault : public ::testing::Test {
// to be able to check related function calls
mock_bt_ta_ = new MockBluetoothTransportAdapter();
mock_tcp_ta_ = new MockTCPTransportAdapter(
- tcp_adapter_port_, mock_last_state_, transport_manager_settings_);
+ tcp_adapter_port_, last_state_wrapper_, transport_manager_settings_);
mock_usb_aoa_ta_ =
- new MockUsbAoaAdapter(mock_last_state_, transport_manager_settings_);
+ new MockUsbAoaAdapter(last_state_wrapper_, transport_manager_settings_);
mock_cloud_websocket_ta_ = new MockCloudWebsocketTransportAdapter(
- mock_last_state_, transport_manager_settings_);
+ last_state_wrapper_, transport_manager_settings_);
TransportAdapterFactory ta_factory;
#ifdef BLUETOOTH_SUPPORT
ta_factory.ta_bluetooth_creator_ =
- [&](resumption::LastState& last_state,
+ [&](resumption::LastStateWrapperPtr& last_state_wrapper,
const TransportManagerSettings& settings) {
- UNUSED(last_state);
+ UNUSED(last_state_wrapper);
UNUSED(settings);
return mock_bt_ta_;
};
#endif
- ta_factory.ta_tcp_creator_ = [&](const uint16_t port,
- resumption::LastState& last_state,
- const TransportManagerSettings& settings) {
- UNUSED(port);
- UNUSED(last_state);
- UNUSED(settings);
- return mock_tcp_ta_;
- };
+ ta_factory.ta_tcp_creator_ =
+ [&](const uint16_t port,
+ resumption::LastStateWrapperPtr& last_state_wrapper,
+ const TransportManagerSettings& settings) {
+ UNUSED(port);
+ UNUSED(last_state_wrapper);
+ UNUSED(settings);
+ return mock_tcp_ta_;
+ };
#if defined(USB_SUPPORT)
- ta_factory.ta_usb_creator_ = [&](resumption::LastState& last_state,
- const TransportManagerSettings& settings) {
- UNUSED(last_state);
- UNUSED(settings);
- return mock_usb_aoa_ta_;
- };
+ ta_factory.ta_usb_creator_ =
+ [&](resumption::LastStateWrapperPtr& last_state_wrapper,
+ const TransportManagerSettings& settings) {
+ UNUSED(last_state_wrapper);
+ UNUSED(settings);
+ return mock_usb_aoa_ta_;
+ };
#endif
#if defined(CLOUD_APP_WEBSOCKET_TRANSPORT_SUPPORT)
ta_factory.ta_cloud_creator_ =
- [&](resumption::LastState& last_state,
+ [&](resumption::LastStateWrapperPtr& last_state_wrapper,
const TransportManagerSettings& settings) {
- UNUSED(last_state);
+ UNUSED(last_state_wrapper);
UNUSED(settings);
return mock_cloud_websocket_ta_;
};
@@ -154,7 +160,7 @@ class TestTransportManagerDefault : public ::testing::Test {
protected:
MockTransportManagerSettings transport_manager_settings_;
std::unique_ptr<TransportManagerDefault> transport_manager_;
- NiceMock<MockLastState> mock_last_state_;
+ std::shared_ptr<MockLastState> mock_last_state_;
Json::Value custom_dictionary_;
const std::string unique_tcp_dev_name_;
const std::string dev_id_;
@@ -166,6 +172,7 @@ class TestTransportManagerDefault : public ::testing::Test {
MockTCPTransportAdapter* mock_tcp_ta_;
MockUsbAoaAdapter* mock_usb_aoa_ta_;
MockCloudWebsocketTransportAdapter* mock_cloud_websocket_ta_;
+ std::shared_ptr<resumption::LastStateWrapperImpl> last_state_wrapper_;
};
void TestTransportManagerDefault::ExpectationsSettings_TM(
@@ -185,17 +192,16 @@ void TestTransportManagerDefault::ExpectationsSettings_TM(
custom_dictionary_[kTransportManager][kTcpAdapter][kDevices][0] = tcp_device;
custom_dictionary_[kTransportManager][kBluetoothAdapter][kDevices][0] =
bluetooth_device;
- ON_CALL(mock_last_state_, get_dictionary())
+ ON_CALL(*mock_last_state_, dictionary())
+ .WillByDefault(Return(custom_dictionary_));
+ ON_CALL(*mock_last_state_, get_dictionary())
.WillByDefault(ReturnRef(custom_dictionary_));
-
EXPECT_CALL(transport_manager_settings_, use_last_state())
.WillRepeatedly(Return(use_last_state));
EXPECT_CALL(transport_manager_settings_, transport_manager_tcp_adapter_port())
.WillRepeatedly(Return(tcp_adapter_port_));
-
EXPECT_CALL(transport_manager_settings_, bluetooth_uuid())
.WillRepeatedly(Return(kBTUUID.data()));
-
EXPECT_CALL(transport_manager_settings_, aoa_filter_manufacturer())
.WillRepeatedly(ReturnRef(dummy_parameter_));
EXPECT_CALL(transport_manager_settings_, aoa_filter_model_name())
@@ -271,7 +277,7 @@ TEST_F(TestTransportManagerDefault, Init_LastStateNotUsed) {
ExpectationsCloudWebsocket_TA();
// Act
- transport_manager_->Init(mock_last_state_);
+ transport_manager_->Init(last_state_wrapper_);
transport_manager_->Stop();
}
@@ -285,7 +291,7 @@ TEST_F(TestTransportManagerDefault, Init_LastStateUsed) {
ExpectationsCloudWebsocket_TA();
// Act
- transport_manager_->Init(mock_last_state_);
+ transport_manager_->Init(last_state_wrapper_);
transport_manager_->Stop();
}
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 ac9b801dbd..db4813be9a 100644
--- a/src/components/transport_manager/test/transport_manager_impl_test.cc
+++ b/src/components/transport_manager/test/transport_manager_impl_test.cc
@@ -35,6 +35,7 @@
#include "gtest/gtest.h"
#include "protocol/raw_message.h"
#include "resumption/last_state_impl.h"
+#include "resumption/last_state_wrapper_impl.h"
#include "transport_manager/common.h"
#include "transport_manager/mock_telemetry_observer.h"
#include "transport_manager/mock_transport_manager_impl.h"
@@ -79,9 +80,11 @@ class TransportManagerImplTest : public ::testing::Test {
device_handle_, mac_address_, device_name_, connection_type_) {}
void SetUp() OVERRIDE {
- resumption::LastStateImpl last_state_("app_storage_folder",
- "app_info_storage");
- tm_.Init(last_state_);
+ std::shared_ptr<resumption::LastStateWrapperImpl> wrapper =
+ std::make_shared<resumption::LastStateWrapperImpl>(
+ std::make_shared<resumption::LastStateImpl>("app_storage_folder",
+ "app_info_storage"));
+ tm_.Init(wrapper);
mock_adapter_ = new MockTransportAdapter();
tm_listener_ = std::make_shared<MockTransportManagerListener>();
diff --git a/src/components/transport_manager/test/websocket_connection_test.cc b/src/components/transport_manager/test/websocket_connection_test.cc
index 6f6baa82fd..a7ddb820a0 100644
--- a/src/components/transport_manager/test/websocket_connection_test.cc
+++ b/src/components/transport_manager/test/websocket_connection_test.cc
@@ -32,6 +32,7 @@
#include "gtest/gtest.h"
#include "resumption/last_state_impl.h"
+#include "resumption/last_state_wrapper_impl.h"
#include "transport_manager/cloud/cloud_websocket_transport_adapter.h"
#include "transport_manager/cloud/sample_websocket_server.h"
#include "transport_manager/cloud/websocket_client_connection.h"
@@ -99,7 +100,9 @@ class WebsocketConnectionTest : public ::testing::Test {
protected:
WebsocketConnectionTest()
- : last_state_("app_storage_folder", "app_info_storage") {}
+ : last_state_(std::make_shared<resumption::LastStateWrapperImpl>(
+ std::make_shared<resumption::LastStateImpl>("app_storage_folder",
+ "app_info_storage"))) {}
~WebsocketConnectionTest() {}
@@ -109,7 +112,7 @@ class WebsocketConnectionTest : public ::testing::Test {
}
NiceMock<MockTransportManagerSettings> transport_manager_settings;
- resumption::LastStateImpl last_state_;
+ resumption::LastStateWrapperPtr last_state_;
std::string dev_id;
std::string uniq_id;
std::shared_ptr<websocket::WSSession> ws_session;