blob: 1acdda3bb5cf1c053058729879237982c384c007 [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;
// Whether this user is Child.
boolean isChild;
};
dictionary LoginStatusDict {
// True if a user is logged in (including guest, public session, etc).
boolean isLoggedIn;
// True if the screen is locked.
boolean isScreenLocked;
};
callback UsersCallback = void (User[] users);
callback UserAddedCallback = void (boolean success);
callback UserRemovedCallback = void (boolean success);
callback ManagedCallback = void (boolean managed);
callback UserCallback = void (User user);
callback LoginStatusCallback = void (LoginStatusDict status);
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 whitelist is managed by enterprise.
static void isWhitelistManaged(ManagedCallback callback);
// Returns the current user.
static void getCurrentUser(UserCallback callback);
// Get login status.
static void getLoginStatus(LoginStatusCallback callback);
};
};