// Copyright 2015 The Chromium Authors
// 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/ash/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 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);
callback IsUserInListCallback = void (boolean found);
interface Functions {
// Gets a list of known users.
static void getUsers(UsersCallback callback);
// Checks to see if the user is already present in the user list.
static void isUserInList(
DOMString email,
IsUserInListCallback callback);
// Adds a new user with the given email to the user list.
// 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 addUser(
DOMString email,
UserAddedCallback callback);
// Removes the user with the given email from the user list.
// 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 removeUser(
DOMString email,
UserRemovedCallback callback);
// Whether the user list is managed by enterprise.
static void isUserListManaged(ManagedCallback callback);
// Returns the current user.
static void getCurrentUser(UserCallback callback);
// Get login status.
static void getLoginStatus(LoginStatusCallback callback);
};
};