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..ee660122234cd3f95b17ef26108d89866f10b0ff 100644 |
--- a/extensions/browser/api/networking_private/networking_private_api.cc |
+++ b/extensions/browser/api/networking_private/networking_private_api.cc |
@@ -345,6 +345,28 @@ bool NetworkingPrivateGetEnabledNetworkTypesFunction::RunSync() { |
} |
//////////////////////////////////////////////////////////////////////////////// |
+// NetworkingPrivateGetDeviceStatesFunction |
+ |
+NetworkingPrivateGetDeviceStatesFunction:: |
+ ~NetworkingPrivateGetDeviceStatesFunction() { |
+} |
+ |
+bool NetworkingPrivateGetDeviceStatesFunction::RunSync() { |
+ scoped_ptr<NetworkingPrivateDelegate::DeviceStateList> device_states( |
+ GetDelegate(browser_context())->GetDeviceStateList()); |
+ if (!device_states) { |
+ error_ = networking_private::kErrorNotSupported; |
+ return false; |
+ } |
+ |
+ scoped_ptr<base::ListValue> device_state_list(new base::ListValue); |
+ for (const private_api::DeviceStateProperties* properties : *device_states) |
+ device_state_list->Append(properties->ToValue().release()); |
+ SetResult(device_state_list.release()); |
+ return true; |
+} |
+ |
+//////////////////////////////////////////////////////////////////////////////// |
// NetworkingPrivateEnableNetworkTypeFunction |
NetworkingPrivateEnableNetworkTypeFunction:: |