Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4683)

Unified Diff: chrome/browser/chromeos/extensions/networking_private_event_router.cc

Issue 12220113: Next phase for chrome.networkingPrivate interface. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/extensions/networking_private_event_router.cc
diff --git a/chrome/browser/chromeos/extensions/networking_private_event_router.cc b/chrome/browser/chromeos/extensions/networking_private_event_router.cc
index 2f884f8615a230b71e41dea21243aa4b9b5ae75e..4d49da3a7feee8d67170f54b4a4acb258440c585 100644
--- a/chrome/browser/chromeos/extensions/networking_private_event_router.cc
+++ b/chrome/browser/chromeos/extensions/networking_private_event_router.cc
@@ -66,7 +66,9 @@ NetworkingPrivateEventRouter::NetworkingPrivateEventRouter(Profile* profile)
ExtensionSystem::Get(profile_)->event_router();
if (event_router) {
event_router->RegisterObserver(
- this, extensions::event_names::kOnNetworkChanged);
+ this, extensions::event_names::kOnNetworksChanged);
+ event_router->RegisterObserver(
+ this, extensions::event_names::kOnNetworkListChanged);
StartOrStopListeningForNetworkChanges();
}
}
@@ -102,8 +104,10 @@ void NetworkingPrivateEventRouter::OnListenerRemoved(
}
void NetworkingPrivateEventRouter::StartOrStopListeningForNetworkChanges() {
- bool should_listen = ExtensionSystem::Get(profile_)->event_router()->
- HasEventListener(extensions::event_names::kOnNetworkChanged);
+ bool should_listen = (ExtensionSystem::Get(profile_)->event_router()->
+ HasEventListener(extensions::event_names::kOnNetworksChanged) ||
+ ExtensionSystem::Get(profile_)->event_router()->
+ HasEventListener(extensions::event_names::kOnNetworkListChanged));
if (should_listen) {
if (!listening_)
@@ -118,26 +122,41 @@ void NetworkingPrivateEventRouter::StartOrStopListeningForNetworkChanges() {
void NetworkingPrivateEventRouter::NetworkListChanged() {
NetworkStateList networks;
NetworkStateHandler::Get()->GetNetworkList(&networks);
- std::vector<linked_ptr<api::NetworkProperties> > changes;
+ if (!ExtensionSystem::Get(profile_)->event_router()->
+ HasEventListener(extensions::event_names::kOnNetworkListChanged)) {
+ return;
+ }
+
+ std::vector<std::string> changes;
+ std::string change_str;
for (NetworkStateList::const_iterator iter = networks.begin();
iter != networks.end(); ++iter) {
- api::NetworkProperties* network_properties = new api::NetworkProperties;
- network_properties->additional_properties.SetString(
- onc::network_config::kName, (*iter)->name());
- network_properties->additional_properties.SetString(
- onc::network_config::kGUID, (*iter)->path());
- network_properties->additional_properties.SetString(
- onc::network_config::kType,
- GetConnectionType((*iter)->type()));
- network_properties->additional_properties.SetString(
- onc::network_config::kConnectionState,
- GetConnectionState(*iter));
- changes.push_back(make_linked_ptr(network_properties));
+ // TODO(gspencer): Currently the "GUID" is actually the service path. Fix
+ // this to be the real GUID once we're using the
stevenjb 2013/02/12 17:19:16 nit: s/using the/using/
Greg Spencer (Chromium) 2013/02/12 17:34:56 Done.
+ // ManagedNetworkConfigurationManager.
+ changes.push_back((*iter)->path());
+ change_str += (*iter)->path() + " ";
+ }
+
+ scoped_ptr<base::ListValue> args(api::OnNetworksChanged::Create(changes));
+ scoped_ptr<extensions::Event> extension_event(new extensions::Event(
+ extensions::event_names::kOnNetworkListChanged, args.Pass()));
+ ExtensionSystem::Get(profile_)->event_router()->BroadcastEvent(
+ extension_event.Pass());
+}
+
+void NetworkingPrivateEventRouter::NetworkPropertiesUpdated(
+ const NetworkState* network) {
+ if (!ExtensionSystem::Get(profile_)->event_router()->
+ HasEventListener(extensions::event_names::kOnNetworksChanged)) {
+ return;
}
- scoped_ptr<base::ListValue> args(api::OnNetworkChanged::Create(changes));
+ std::vector<std::string> changes;
+ changes.push_back(network->path());
+ scoped_ptr<base::ListValue> args(api::OnNetworkListChanged::Create(changes));
scoped_ptr<extensions::Event> extension_event(new extensions::Event(
- extensions::event_names::kOnNetworkChanged, args.Pass()));
+ extensions::event_names::kOnNetworksChanged, args.Pass()));
ExtensionSystem::Get(profile_)->event_router()->BroadcastEvent(
extension_event.Pass());
}

Powered by Google App Engine
This is Rietveld 408576698