summaryrefslogtreecommitdiffstats
path: root/chromeos/network/network_profile_handler.cc
diff options
context:
space:
mode:
authorstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-03 10:45:58 +0000
committerstevenjb@chromium.org <stevenjb@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-03 10:45:58 +0000
commitce21fc613336439b575823b7e223b3bf9f36da0c (patch)
tree1a7ccf12cd2a74f2b352acc8ac9a6acde9aefef6 /chromeos/network/network_profile_handler.cc
parent4b95f6f0055436bb5d33091182a4f58df9d6501d (diff)
downloadchromium_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.cc14
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);