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

Unified Diff: extensions/browser/api/networking_private/networking_private_api.cc

Issue 1059033002: Implement networkingPrivate.getDeviceStates (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: . Created 5 years, 9 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: extensions/browser/api/networking_private/networking_private_api.cc
diff --git a/extensions/browser/api/networking_private/networking_private_api.cc b/extensions/browser/api/networking_private/networking_private_api.cc
index 92270e905f94cd65367e26bb4c6afa04c6f2a1e1..32de0e43efe2a5d88d79ac26c47c10eb7198cfc7 100644
--- a/extensions/browser/api/networking_private/networking_private_api.cc
+++ b/extensions/browser/api/networking_private/networking_private_api.cc
@@ -345,6 +345,31 @@ bool NetworkingPrivateGetEnabledNetworkTypesFunction::RunSync() {
}
////////////////////////////////////////////////////////////////////////////////
+// NetworkingPrivateGetDeviceStatesFunction
+
+NetworkingPrivateGetDeviceStatesFunction::
+ ~NetworkingPrivateGetDeviceStatesFunction() {
+}
+
+bool NetworkingPrivateGetDeviceStatesFunction::RunSync() {
+ scoped_ptr<NetworkingPrivateDelegate::DeviceStateMap> device_states(
+ GetDelegate(browser_context())->GetDeviceStates());
+ if (!device_states) {
+ error_ = networking_private::kErrorNotSupported;
+ return false;
+ }
+ scoped_ptr<base::ListValue> device_state_list(new base::ListValue);
+ for (const auto& entry : *device_states) {
+ private_api::DeviceStateProperties properties;
+ properties.type = private_api::ParseNetworkType(entry.first);
+ properties.state = private_api::ParseDeviceStateType(entry.second);
+ device_state_list->Append(properties.ToValue().release());
+ }
+ SetResult(device_state_list.release());
+ return true;
+}
+
+////////////////////////////////////////////////////////////////////////////////
// NetworkingPrivateEnableNetworkTypeFunction
NetworkingPrivateEnableNetworkTypeFunction::

Powered by Google App Engine
This is Rietveld 408576698