chromium/chromeos/crosapi/mojom/identity_manager.mojom

// Copyright 2021 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

module crosapi.mojom;

import "ui/gfx/image/mojom/image.mojom";

// This API allows lacros-chrome to access properties from the identity manager
// that lives in ash-chrome, such as account names for accounts that are not yet
// known to lacros.
[Stable, Uuid="2737cc5d-f807-4690-aec1-22091ce82565"]
interface IdentityManager {
  // Returns the full_name of the account with gaia id `gaia`.
  GetAccountFullName@0(string gaia) => (string full_name);

  // Returns the account_image of the account with gaia id `gaia`.
  GetAccountImage@1(string gaia) => (gfx.mojom.ImageSkia? image);

  // Returns the email of the account with gaia id `gaia`.
  [MinVersion=1]
  GetAccountEmail@2(string gaia) => (string email);

  // Returns if the account with gaia id `gaia` is in persistent error state.
  [MinVersion=2]
  HasAccountWithPersistentError@3(string gaia) => (bool persistent_error);
};