diff options
author | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-03 10:45:58 +0000 |
---|---|---|
committer | stevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-07-03 10:45:58 +0000 |
commit | ce21fc613336439b575823b7e223b3bf9f36da0c (patch) | |
tree | 1a7ccf12cd2a74f2b352acc8ac9a6acde9aefef6 /chromeos/network/network_profile_handler.cc | |
parent | 4b95f6f0055436bb5d33091182a4f58df9d6501d (diff) | |
download | chromium_src-ce21fc613336439b575823b7e223b3bf9f36da0c.zip chromium_src-ce21fc613336439b575823b7e223b3bf9f36da0c.tar.gz chromium_src-ce21fc613336439b575823b7e223b3bf9f36da0c.tar.bz2 |
Support network Favorite/Preferred list and removal
This CL tracks Manager.ServiceCompleteList to provide a list of
favorite/preferred networks to the UI. It uses
Service.GetLoadableProfileEntries to remove preferred services.
A test UI is provided in the status area (behind a flag).
Stub behavior is updated to enable testing the UI on Linux.
BUG=251922
Review URL: https://chromiumcodereview.appspot.com/17778003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@209950 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos/network/network_profile_handler.cc')
-rw-r--r-- | chromeos/network/network_profile_handler.cc | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/chromeos/network/network_profile_handler.cc b/chromeos/network/network_profile_handler.cc index de92798..96d7f37 100644 --- a/chromeos/network/network_profile_handler.cc +++ b/chromeos/network/network_profile_handler.cc @@ -13,6 +13,7 @@ #include "chromeos/dbus/shill_manager_client.h" #include "chromeos/dbus/shill_profile_client.h" #include "chromeos/network/network_profile_observer.h" +#include "chromeos/network/network_state_handler.h" #include "dbus/object_path.h" #include "third_party/cros_system_api/dbus/service_constants.h" @@ -126,6 +127,11 @@ void NetworkProfileHandler::OnPropertyChanged(const std::string& name, *it), base::Bind(&LogProfileRequestError, *it)); } + + // When the profile list changes, ServiceCompleteList may also change, so + // trigger a Manager update to request the updated list. + if (network_state_handler_) + network_state_handler_->UpdateManagerProperties(); } void NetworkProfileHandler::GetProfilePropertiesCallback( @@ -180,7 +186,13 @@ const NetworkProfile* NetworkProfileHandler::GetProfileForUserhash( } NetworkProfileHandler::NetworkProfileHandler() - : weak_ptr_factory_(this) { + : network_state_handler_(NULL), + weak_ptr_factory_(this) { +} + +void NetworkProfileHandler::Init(NetworkStateHandler* network_state_handler) { + network_state_handler_ = network_state_handler; + DBusThreadManager::Get()->GetShillManagerClient()-> AddPropertyChangedObserver(this); |