From 78fc5627f05a957c03a561fbd22c5ea1bb4a8b6c Mon Sep 17 00:00:00 2001 From: Lukasz Bardeli Date: Wed, 11 Jan 2017 14:43:19 +0100 Subject: [PATCH] [Convergance] fix for swapDevice2 Change-Id: I68f61357bfcdc9bcc174d885f5e82fc457757f3c Signed-off-by: Lukasz Bardeli --- src/convergence/convergence_device.cc | 11 ++--------- src/convergence/convergence_device.h | 2 +- src/convergence/convergence_manager.cc | 5 ++++- 3 files changed, 7 insertions(+), 11 deletions(-) diff --git a/src/convergence/convergence_device.cc b/src/convergence/convergence_device.cc index f617db7d..34d36637 100644 --- a/src/convergence/convergence_device.cc +++ b/src/convergence/convergence_device.cc @@ -154,7 +154,7 @@ void ConvergenceDevice::ForEachServiceCb(conv_service_h service_handle, s->Refresh(); } -void ConvergenceDevice::Refresh(conv_device_h device_handle) { +void ConvergenceDevice::Refresh() { ScopeLogger(); // Getting device properties from handle id_ = ExtractDevicePropery(CONV_DEVICE_ID); @@ -165,14 +165,7 @@ void ConvergenceDevice::Refresh(conv_device_h device_handle) { id_.c_str(), name_.c_str(), type_.c_str()); // Extracting services - conv_device_h handle = nullptr; - if (device_handle) { - handle = device_handle; - } else { - handle = device_handle_; - } - - const int error = conv_device_foreach_service(handle, ForEachServiceCb, this); + const int error = conv_device_foreach_service(device_handle_, ForEachServiceCb, this); if (CONV_ERROR_NONE != error) { trace_conv_error(error, __LINE__, "conv_device_foreach_service"); } diff --git a/src/convergence/convergence_device.h b/src/convergence/convergence_device.h index 64962440..505ae387 100644 --- a/src/convergence/convergence_device.h +++ b/src/convergence/convergence_device.h @@ -44,7 +44,7 @@ class ConvergenceDevice { public: - void Refresh(conv_device_h device_handle = nullptr); + void Refresh(); ConvergenceService *GetService(const int service_type) const; //picojson::object ToJson() const; picojson::value ToJson() const; diff --git a/src/convergence/convergence_manager.cc b/src/convergence/convergence_manager.cc index 11482af6..3b14d6ce 100644 --- a/src/convergence/convergence_manager.cc +++ b/src/convergence/convergence_manager.cc @@ -117,7 +117,10 @@ ConvergenceDevice *ConvergenceManager::SwapDevice(const char *device_id, LoggerI("...registering the device [%s, %x]", device_id, device_handle); // Assume that there are only two services } else if(registered_devices_[device_id]->ServiceCount() < 2) { - registered_devices_[device_id]->Refresh(device_handle); + registered_devices_.erase(device_id); + ConvergenceDevice *d = new ConvergenceDevice(device_handle, convergence_plugin_); + d->SetId(device_id); + registered_devices_[device_id] = d; } return registered_devices_[device_id]; } -- 2.34.1