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..663561fcc5792c7124a5eac1815c48a8902b4c05 |
--- /dev/null |
+++ b/chrome/browser/profiles/profile_attributes_entry.h |
@@ -0,0 +1,91 @@ |
+// 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(); |
Mike Lerman
2015/07/02 18:01:30
virtual ~ProfileAttributesEntry();
anthonyvd
2015/07/07 21:05:32
Done. Is it a coding guideline thing to have a vir
Mike Lerman
2015/07/08 18:26:34
I think so - I've gotten that as feedback many tim
|
+ |
+ base::string16 GetName() const; |
+ base::string16 GetShortcutName() const; |
+ base::FilePath GetPath() const; |
+ base::Time GetActiveTime() const; |
+ base::string16 GetUserName() const; |
+ 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; |
+ base::string16 GetGAIAName() const; |
+ base::string16 GetGAIAGivenName() const; |
+ 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; |
+ bool IsUsingGAIAPicture() const; |
+ bool IsSupervised() const; |
+ bool IsChild() const; |
+ bool IsLegacySupervised() const; |
+ bool IsOmitted() const; |
+ bool IsSigninRequired() const; |
+ std::string GetSupervisedUserId() const; |
+ bool IsEphemeral() const; |
+ bool IsUsingDefaultName() const; |
+ bool IsAuthenticated() const; |
+ bool IsUsingDefaultAvatar() const; |
+ bool IsAuthError() const; |
+ 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; |
+ ProfileAttributesEntry(ProfileInfoCache* cache, size_t index); |
+ ProfileInfoCache* profile_info_cache_; |
+ size_t profile_index_; |
+}; |
+ |
+#endif // CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ |