Remove CloudDelegate::Observer::OnDeviceInfoChanged This method notification is just a proxy for config change event. We can directly signup for this notifications from config. BUG:27480269 Change-Id: Ic83dd9c6f5180428168cc2a22d2671035334211e Reviewed-on: https://weave-review.googlesource.com/2824 Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/src/privet/cloud_delegate.cc b/src/privet/cloud_delegate.cc index 0833780..65e4b87 100644 --- a/src/privet/cloud_delegate.cc +++ b/src/privet/cloud_delegate.cc
@@ -46,8 +46,6 @@ : task_runner_{task_runner}, device_{device}, component_manager_{component_manager} { - device_->GetMutableConfig()->AddOnChangedCallback(base::Bind( - &CloudDelegateImpl::OnConfigChanged, weak_factory_.GetWeakPtr())); device_->AddGcdStateChangedCallback(base::Bind( &CloudDelegateImpl::OnRegistrationChanged, weak_factory_.GetWeakPtr())); @@ -244,8 +242,6 @@ CHECK(command_owners_.erase(command->GetID())); } - void OnConfigChanged(const Settings&) { NotifyOnDeviceInfoChanged(); } - void OnRegistrationChanged(GcdState status) { if (status == GcdState::kUnconfigured || status == GcdState::kInvalidCredentials) { @@ -262,7 +258,6 @@ EnumToString(status).c_str()); connection_state_ = ConnectionState{std::move(error)}; } - NotifyOnDeviceInfoChanged(); } void OnRegisterSuccess(const std::string& cloud_id) { @@ -378,10 +373,6 @@ new CloudDelegateImpl{task_runner, device, component_manager}}; } -void CloudDelegate::NotifyOnDeviceInfoChanged() { - FOR_EACH_OBSERVER(Observer, observer_list_, OnDeviceInfoChanged()); -} - void CloudDelegate::NotifyOnTraitDefsChanged() { FOR_EACH_OBSERVER(Observer, observer_list_, OnTraitDefsChanged()); }
diff --git a/src/privet/cloud_delegate.h b/src/privet/cloud_delegate.h index 5ae54cf..4ded884 100644 --- a/src/privet/cloud_delegate.h +++ b/src/privet/cloud_delegate.h
@@ -47,7 +47,6 @@ public: virtual ~Observer() {} - virtual void OnDeviceInfoChanged() {} virtual void OnTraitDefsChanged() {} virtual void OnStateChanged() {} virtual void OnComponentTreeChanged() {} @@ -136,7 +135,6 @@ observer_list_.RemoveObserver(observer); } - void NotifyOnDeviceInfoChanged(); void NotifyOnTraitDefsChanged(); void NotifyOnStateChanged(); void NotifyOnComponentTreeChanged();
diff --git a/src/privet/privet_manager.cc b/src/privet/privet_manager.cc index 9c717ce..36223ba 100644 --- a/src/privet/privet_manager.cc +++ b/src/privet/privet_manager.cc
@@ -12,7 +12,6 @@ #include <base/json/json_reader.h> #include <base/json/json_writer.h> #include <base/memory/weak_ptr.h> -#include <base/scoped_observer.h> #include <base/strings/string_number_conversions.h> #include <base/values.h> #include <weave/provider/network.h> @@ -58,7 +57,6 @@ http_server->GetRequestTimeout()); cloud_ = CloudDelegate::CreateDefault(task_runner_, device, component_manager); - cloud_observer_.Add(cloud_.get()); security_.reset(new SecurityManager(device->GetMutableConfig(), auth_manager, task_runner_)); @@ -92,6 +90,9 @@ path, base::Bind(&Manager::PrivetRequestHandler, weak_ptr_factory_.GetWeakPtr())); } + + device->GetMutableConfig()->AddOnChangedCallback(base::Bind( + &Manager::OnDeviceInfoChanged, weak_ptr_factory_.GetWeakPtr())); } std::string Manager::GetCurrentlyConnectedSsid() const { @@ -106,7 +107,7 @@ security_->RegisterPairingListeners(on_start, on_end); } -void Manager::OnDeviceInfoChanged() { +void Manager::OnDeviceInfoChanged(const weave::Settings&) { OnChanged(); }
diff --git a/src/privet/privet_manager.h b/src/privet/privet_manager.h index 06eb89a..c91d72c 100644 --- a/src/privet/privet_manager.h +++ b/src/privet/privet_manager.h
@@ -11,7 +11,6 @@ #include <vector> #include <base/memory/weak_ptr.h> -#include <base/scoped_observer.h> #include <weave/device.h> #include "src/privet/cloud_delegate.h" @@ -41,10 +40,10 @@ class Publisher; class SecurityManager; -class Manager : public CloudDelegate::Observer { +class Manager { public: explicit Manager(provider::TaskRunner* task_runner); - ~Manager() override; + ~Manager(); void Start(provider::Network* network, provider::DnsServiceDiscovery* dns_sd, @@ -61,8 +60,7 @@ const Device::PairingEndCallback& end_callback); private: - // CloudDelegate::Observer - void OnDeviceInfoChanged() override; + void OnDeviceInfoChanged(const weave::Settings&); void PrivetRequestHandler( std::unique_ptr<provider::HttpServer::Request> request); @@ -87,8 +85,6 @@ std::unique_ptr<Publisher> publisher_; std::unique_ptr<PrivetHandler> privet_handler_; - ScopedObserver<CloudDelegate, CloudDelegate::Observer> cloud_observer_{this}; - base::WeakPtrFactory<Manager> weak_ptr_factory_{this}; DISALLOW_COPY_AND_ASSIGN(Manager); };