| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // Use the <code>chrome.signedInDevices</code> API to get a list of devices |
| // signed into chrome with the same account as the current profile. |
| namespace signedInDevices { |
| enum OS { |
| win, |
| mac, |
| linux, |
| chrome_os, |
| android, |
| ios, |
| unknown |
| }; |
| |
| enum DeviceType { |
| desktop_or_laptop, |
| phone, |
| tablet, |
| unknown |
| }; |
| |
| dictionary DeviceInfo { |
| // Name of the device. This name is usually set by the user |
| // when setting up a device. |
| DOMString name; |
| |
| // Unique Id for this device. Note: The id is meaningful only |
| // in the current device. This id cannot be used to refer to the |
| // same device from another device or extension. |
| DOMString id; |
| |
| // The OS of the device. |
| OS os; |
| |
| // Device Type. |
| DeviceType type; |
| |
| // Version of chrome running in this device. |
| DOMString chromeVersion; |
| }; |
| |
| callback DeviceInfoCallback = void(DeviceInfo[] devices); |
| |
| interface Functions { |
| // Gets the array of signed in devices, signed into the same account |
| // as the current profile. |
| // |isLocal|: If true only return the information for the local device. If |
| // false or omitted return the list of all devices including the local |
| // device. |
| // |callback|: The callback to be invoked with the array of DeviceInfo |
| // objects. |
| static void get(optional boolean isLocal, DeviceInfoCallback callback); |
| }; |
| |
| interface Events { |
| // Fired when the DeviceInfo object of any of the signed in devices |
| // changes, or when a device is added or removed. |
| // |devices|: The array of all signed in devices. |
| static void onDeviceInfoChange(DeviceInfo[] devices); |
| }; |
| }; |