// 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 chrome.usersPrivate 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); }; };