1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5// Use the <code>chrome.signedInDevices</code> API to get a list of devices 6// signed into chrome with the same account as the current profile. 7namespace signedInDevices { 8 enum OS { 9 win, 10 mac, 11 linux, 12 chrome_os, 13 android, 14 ios, 15 unknown 16 }; 17 18 enum DeviceType { 19 desktop_or_laptop, 20 phone, 21 tablet, 22 unknown 23 }; 24 25 dictionary DeviceInfo { 26 // Name of the device. This name is usually set by the user 27 // when setting up a device. 28 DOMString name; 29 30 // Unique Id for this device. Note: The id is meaningful only 31 // in the current device. This id cannot be used to refer to the 32 // same device from another device or extension. 33 DOMString id; 34 35 // The OS of the device. 36 OS os; 37 38 // Device Type. 39 DeviceType type; 40 41 // Version of chrome running in this device. 42 DOMString chromeVersion; 43 }; 44 45 callback DeviceInfoCallback = void(DeviceInfo[] devices); 46 47 interface Functions { 48 // Gets the array of signed in devices, signed into the same account 49 // as the current profile. 50 // |isLocal|: If true only return the information for the local device. If 51 // false or omitted return the list of all devices including the local 52 // device. 53 // |callback|: The callback to be invoked with the array of DeviceInfo 54 // objects. 55 static void get(optional boolean isLocal, DeviceInfoCallback callback); 56 }; 57 58 interface Events { 59 // Fired if the DeviceInfo object of any of the signed in devices 60 // change or a new device is added or a device removed. 61 // |callback|: The callback to be invoked with the array of DeviceInfo 62 // objects. 63 static void onDeviceInfoChange(DeviceInfo[] devices); 64 }; 65};