| Index: chrome/browser/profiles/profile_attributes_entry.h
|
| diff --git a/chrome/browser/profiles/profile_attributes_entry.h b/chrome/browser/profiles/profile_attributes_entry.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..898557792594d675337a446ae23b823c990f8b63
|
| --- /dev/null
|
| +++ b/chrome/browser/profiles/profile_attributes_entry.h
|
| @@ -0,0 +1,124 @@
|
| +// 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.
|
| +
|
| +#ifndef CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_
|
| +#define CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_
|
| +
|
| +#include <string>
|
| +
|
| +#include "base/files/file_path.h"
|
| +#include "base/strings/string16.h"
|
| +#include "base/time/time.h"
|
| +
|
| +namespace gfx {
|
| +class Image;
|
| +}
|
| +
|
| +class ProfileInfoCache;
|
| +
|
| +class ProfileAttributesEntry {
|
| + public:
|
| + ProfileAttributesEntry();
|
| + virtual ~ProfileAttributesEntry() {}
|
| +
|
| + // Gets the name of the profile, which is the one displayed in the User Menu.
|
| + base::string16 GetName() const;
|
| +
|
| + base::string16 GetShortcutName() const;
|
| + // Gets the path to the profile. Should correspond to the path passed to
|
| + // ProfileAttributesStorage::GetProfileAttributesWithPath to get this entry.
|
| + base::FilePath GetPath() const;
|
| + base::Time GetActiveTime() const;
|
| + // Gets the user name of the signed in profile. This is typically the email
|
| + // address used to sign in and the empty string for profiles that aren't
|
| + // signed in to chrome.
|
| + base::string16 GetUserName() const;
|
| + // Gets the icon used as this profile's avatar. This might not be the icon
|
| + // displayed in the UI if IsUsingGAIAPicture() is true.
|
| + const gfx::Image& GetAvatarIcon();
|
| + std::string GetLocalAuthCredentials() const;
|
| + std::string GetPasswordChangeDetectionToken() const;
|
| + // Note that a return value of false could mean an error in collection or
|
| + // that there are currently no background apps running. However, the action
|
| + // which results is the same in both cases (thus far).
|
| + bool GetBackgroundStatus() const;
|
| + // Gets the GAIA full name associated with this profile if it's signed in.
|
| + base::string16 GetGAIAName() const;
|
| + // Gets the GAIA given name associated with this profile if it's signed in.
|
| + base::string16 GetGAIAGivenName() const;
|
| + // Gets the opaque string representation of the profile's GAIA ID if it's
|
| + // signed in.
|
| + std::string GetGAIAId() const;
|
| + // Returns the GAIA picture for the given profile. This may return NULL
|
| + // if the profile does not have a GAIA picture or if the picture must be
|
| + // loaded from disk.
|
| + const gfx::Image* GetGAIAPicture() const;
|
| + // Returns true if the profile displays a GAIA picture instead of one of the
|
| + // locally bundled icons.
|
| + bool IsUsingGAIAPicture() const;
|
| + // Returns true if the profile is signed in as a supervised user..
|
| + bool IsSupervised() const;
|
| + // Returns true if the profile is signed in as a child account.
|
| + bool IsChild() const;
|
| + // Returns true if the profile is a supervised user but not a child account.
|
| + bool IsLegacySupervised() const;
|
| + bool IsOmitted() const;
|
| + bool IsSigninRequired() const;
|
| + // Gets the supervised user ID of the profile's signed in account, if it's a
|
| + // supervised user.
|
| + std::string GetSupervisedUserId() const;
|
| + // Returns true if the profile is an ephemeral profile.
|
| + bool IsEphemeral() const;
|
| + // Returns true if the profile is using a default name, typically of the
|
| + // format "Person %d".
|
| + bool IsUsingDefaultName() const;
|
| + // Returns true if the profile is signed in.
|
| + bool IsAuthenticated() const;
|
| + // Returns true if the Profile is using the default avatar, which is one of
|
| + // the profile icons selectable at profile creation.
|
| + bool IsUsingDefaultAvatar() const;
|
| + // Returns true if the profile is signed in but is in an authentication error
|
| + // state.
|
| + bool IsAuthError() const;
|
| + // Returns the index of the default icon used by the profile.
|
| + size_t GetAvatarIconIndex() const;
|
| +
|
| + void SetName(const base::string16& name);
|
| + void SetShortcutName(const base::string16& name);
|
| + void SetIsOmitted(bool is_omitted);
|
| + void SetSupervisedUserId(const std::string& id);
|
| + void SetLocalAuthCredentials(const std::string& auth);
|
| + void SetPasswordChangeDetectionToken(const std::string& token);
|
| + void SetBackgroundStatus(bool running_background_apps);
|
| + void SetGAIAName(const base::string16& name);
|
| + void SetGAIAGivenName(const base::string16& name);
|
| + void SetGAIAPicture(const gfx::Image* image);
|
| + void SetIsUsingGAIAPicture(bool value);
|
| + void SetIsSigninRequired(bool value);
|
| + void SetIsEphemeral(bool value);
|
| + void SetIsUsingDefaultName(bool value);
|
| + void SetIsUsingDefaultAvatar(bool value);
|
| + void SetIsAuthError(bool value);
|
| + void SetAvatarIconIndex(size_t icon_index);
|
| +
|
| + void SetAuthInfo(const std::string& gaia_id,
|
| + const base::string16& user_name);
|
| +
|
| + private:
|
| + // These members are an implementation detail meant to smooth the migration
|
| + // of the ProfileInfoCache to the ProfileAttributesStorage interface. They can
|
| + // be safely removed once the ProfileInfoCache stops using indices
|
| + // internally.
|
| + // TODO(anthonyvd): Remove ProfileInfoCache related implementation details
|
| + // when this class holds the members required to fulfill its own contract.
|
| + friend class ProfileInfoCache;
|
| + void Initialize(ProfileInfoCache* cache, const base::FilePath& path);
|
| + size_t profile_index() const;
|
| + ProfileInfoCache* profile_info_cache_;
|
| + base::FilePath profile_path_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(ProfileAttributesEntry);
|
| +};
|
| +
|
| +#endif // CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_
|
|
|