blob: dd3be4c060956b2a46262288f9be687bbcb6a0f7 [file] [log] [blame]
// 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);
};
};