// 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 chrome.signedInDevices 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); }; };