Chromium Code Reviews| Index: chrome/browser/extensions/api/signedin_devices/signedin_devices_api.cc |
| diff --git a/chrome/browser/extensions/api/signedin_devices/signedin_devices_api.cc b/chrome/browser/extensions/api/signedin_devices/signedin_devices_api.cc |
| index 47a132b87126f615d2428d66e3b525766df06d7b..4140115d5525b55ef103fd187075dc8aad97819c 100644 |
| --- a/chrome/browser/extensions/api/signedin_devices/signedin_devices_api.cc |
| +++ b/chrome/browser/extensions/api/signedin_devices/signedin_devices_api.cc |
| @@ -13,6 +13,7 @@ |
| #include "chrome/browser/sync/glue/device_info.h" |
| #include "chrome/browser/sync/profile_sync_service.h" |
| #include "chrome/browser/sync/profile_sync_service_factory.h" |
| +#include "chrome/common/extensions/api/signedin_devices.h" |
| using base::DictionaryValue; |
| using browser_sync::DeviceInfo; |
| @@ -85,5 +86,34 @@ ScopedVector<DeviceInfo> GetAllSignedInDevices( |
| extension_prefs); |
| } |
| +bool SignedinDevicesGetFunction::RunImpl() { |
| + scoped_ptr<api::signedin_devices::Get::Params> params( |
| + api::signedin_devices::Get::Params::Create(*args_)); |
| + EXTENSION_FUNCTION_VALIDATE(params.get()); |
| + |
| + bool is_local = params->is_local.get() ? *params->is_local : false; |
| + |
| + if (is_local == true) { |
|
Matt Perry
2013/08/12 22:21:01
don't compare to true/false. just if (is_local)
lipalani1
2013/08/13 22:42:37
Done.
|
| + // TODO(lipalani): Set the device info for local device. |
| + base::ListValue* result = new base::ListValue(); |
| + SetResult(result); |
| + return true; |
| + } |
| + |
| + ScopedVector<DeviceInfo> devices = GetAllSignedInDevices(extension_id(), |
| + profile()); |
| + |
| + scoped_ptr<base::ListValue> result(new base::ListValue()); |
| + |
| + for (ScopedVector<DeviceInfo>::const_iterator it = devices.begin(); |
| + it != devices.end(); |
| + ++it) { |
| + result->Append((*it)->ToValue()); |
| + } |
| + |
| + SetResult(result.release()); |
| + return true; |
| +} |
| + |
| } // namespace extensions |