blob: 702cf53c3629a9639c06009550129ae08cb15ef8 [file] [log] [blame]
// Copyright 2015 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.usersPrivate</code> API to manage users.
[platforms=("chromeos"),
implemented_in="chrome/browser/chromeos/extensions/users_private/users_private_api.h"]
namespace usersPrivate {
dictionary User {
// Email for the user.
DOMString email;
// Display email for the user.
DOMString displayEmail;
// Display name for the user.
DOMString name;
// Whether this user is the device owner.
boolean isOwner;
// Whether this user is supervised.
boolean isSupervised;
};
callback UsersCallback = void (User[] users);
callback UserAddedCallback = void (boolean success);
callback UserRemovedCallback = void (boolean success);
callback IsOwnerCallback = void (boolean isOwner);
callback ManagedCallback = void (boolean managed);
interface Functions {
// Gets a list of the currently whitelisted users.
static void getWhitelistedUsers(UsersCallback callback);
// Adds a new user with the given email to the whitelist.
// The callback is called with true if the user was added succesfully, or
// with false if not (e.g. because the user was already present, or the
// current user isn't the owner).
static void addWhitelistedUser(DOMString email, UserAddedCallback callback);
// Removes the user with the given email from the whitelist.
// The callback is called with true if the user was removed succesfully, or
// with false if not (e.g. because the user was not already present, or
// the current user isn't the owner).
static void removeWhitelistedUser(DOMString email, UserRemovedCallback callback);
// Whether the current user is the owner of the device.
static void isCurrentUserOwner(IsOwnerCallback callback);
// Whether the whitelist is managed by enterprise.
static void isWhitelistManaged(ManagedCallback callback);
};
};