Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright (c) 2015 The Chromium Authors. All rights reserved. | |
|
noms (inactive)
2015/06/29 17:10:40
The 2014-and-after style says there's no (c) neede
anthonyvd
2015/06/30 21:24:52
Done.
| |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_METADATA_STORAGE_H_ | |
| 6 #define CHROME_BROWSER_PROFILES_PROFILE_METADATA_STORAGE_H_ | |
| 7 | |
| 8 class ProfileInfoCache; | |
| 9 | |
| 10 class ProfileMetadataStorage { | |
| 11 public: | |
| 12 // Represents one profile's metadata. | |
| 13 class ProfileMetadataEntry { | |
|
noms (inactive)
2015/06/29 17:10:40
I don't love `metadata` (to me, metadata is like t
Mike Lerman
2015/06/29 19:14:37
I was okay with ProfileMetadata, though I'm also o
anthonyvd
2015/06/30 21:24:53
Done and done.
I preferred moving away from Profi
| |
| 14 public: | |
| 15 base::string16 GetName() const; | |
|
noms (inactive)
2015/06/29 17:10:40
I'm so confused. This just has getters, but doesn'
anthonyvd
2015/06/30 21:24:53
I completely agree that it's kind of weird. The id
| |
| 16 base::string16 GetShortcutName() const; | |
| 17 base::FilePath GetPath() const; | |
| 18 base::Time GetActiveTime() const; | |
| 19 base::string16 GetUserName() const; | |
| 20 const gfx::Image& GetAvatarIcon(); | |
| 21 std::string GetLocalAuthCredentials() const; | |
| 22 std::string GetPasswordChangeDetectionToken() const; | |
| 23 // Note that a return value of false could mean an error in collection or | |
| 24 // that there are currently no background apps running. However, the action | |
| 25 // which results is the same in both cases (thus far). | |
| 26 bool GetBackgroundStatus() const; | |
| 27 base::string16 GetGAIAName() const; | |
| 28 base::string16 GetGAIAGivenName() const; | |
| 29 std::string GetGAIAId() const; | |
| 30 // Returns the GAIA picture for the given profile. This may return NULL | |
| 31 // if the profile does not have a GAIA picture or if the picture must be | |
| 32 // loaded from disk. | |
| 33 const gfx::Image* GetGAIAPicture() const; | |
| 34 bool IsUsingGAIAPicture() const; | |
| 35 bool IsSupervised() const; | |
| 36 bool IsChild() const; | |
| 37 bool IsLegacySupervised() const; | |
| 38 bool IsOmitted() const; | |
| 39 bool IsSigninRequired() const; | |
| 40 std::string GetSupervisedUserId() const; | |
| 41 bool IsEphemeral() const; | |
| 42 bool IsUsingDefaultName() const; | |
| 43 bool IsAuthenticated() const; | |
| 44 bool IsUsingDefaultAvatar() const; | |
| 45 bool IsAuthError() const; | |
| 46 size_t GetAvatarIconIndex() const; | |
| 47 | |
| 48 void SetName(const base::string16& name); | |
| 49 void SetShortcutName(const base::string16& name); | |
| 50 void SetIsOmitted(bool is_omitted); | |
| 51 void SetSupervisedUserId(const std::string& id); | |
| 52 void SetLocalAuthCredentials(const std::string& auth); | |
| 53 void SetPasswordChangeDetectionToken(const std::string& token); | |
| 54 void SetBackgroundStatus(bool running_background_apps); | |
| 55 void SetGAIAName(const base::string16& name); | |
| 56 void SetGAIAGivenName(const base::string16& name); | |
| 57 void SetGAIAPicture(const gfx::Image* image); | |
| 58 void SetIsUsingGAIAPicture(bool value); | |
| 59 void SetIsSigninRequired(bool value); | |
| 60 void SetIsEphemeral(bool value); | |
| 61 void SetIsUsingDefaultName(bool value); | |
| 62 void SetIsUsingDefaultAvatar(bool value); | |
| 63 void SetIsAuthError(bool value); | |
| 64 void SetAvatarIconIndex(size_t icon_index); | |
| 65 | |
| 66 void SetAuthInfo(const std::string& gaia_id, | |
| 67 const base::string16& user_name); | |
| 68 | |
| 69 private: | |
| 70 // These members are an implementation detail meant to smooth the migration | |
|
noms (inactive)
2015/06/29 17:10:40
Probably safe to add a TODO here :)
anthonyvd
2015/06/30 21:24:53
Done.
| |
| 71 // of the ProfileInfoCache to the ProfileMetadataStorage interface. They can | |
| 72 // be safely removed once the ProfileInfoCache stops using indices | |
| 73 // internally. | |
| 74 friend class ProfileInfoCache; | |
| 75 size_t profile_index_; | |
| 76 ProfileInfoCache* profile_info_cache_; | |
|
Mike Lerman
2015/06/29 19:14:37
I imagine you will one day have member variables f
anthonyvd
2015/06/30 21:24:53
Do you think the own above w.r.t. Monica's comment
| |
| 77 }; | |
| 78 | |
| 79 ProfileMetadataStorage() {} | |
| 80 ~ProfileMetadataStorage() {} | |
| 81 | |
| 82 // If the |supervised_user_id| is non-empty, the profile will be marked to be | |
| 83 // omitted from the avatar-menu list on desktop versions. This is used while a | |
| 84 // supervised user is in the process of being registered with the server. Use | |
| 85 // SetIsOmittedProfileAtIndex() to clear the flag when the profile is ready to | |
|
anthonyvd
2015/06/25 21:38:37
Oops, need to update that comment.
anthonyvd
2015/06/30 21:24:53
Done.
| |
| 86 // be shown in the menu. | |
| 87 virtual void AddProfile(const base::FilePath& profile_path, | |
| 88 const base::string16& name, | |
| 89 const std::string& gaia_id, | |
| 90 const base::string16& user_name, | |
| 91 size_t icon_index, | |
| 92 const std::string& supervised_user_id) = 0; | |
| 93 virtual void DeleteProfile(const base::FilePath& profile_path) = 0; | |
| 94 | |
| 95 // Returns a vector containing one metadata entry per known profile. They are | |
| 96 // not sorted in any particular order. | |
| 97 virtual std::vector<ProfileMetadataEntry> GetAllProfilesMetadata() = 0; | |
| 98 | |
| 99 // Populates |entry| with the data for the profile at |path| and returns true | |
| 100 // if the operation is successful and |entry| can be used. Returns false | |
| 101 // otherwise. | |
| 102 // |entry| should not be cached as it will not reflect subsequent changes to | |
| 103 // the profile's metadata. | |
| 104 virtual bool GetProfileMetadataWithPath( | |
| 105 const base::FilePath& path, ProfileMetadataEntry* entry) = 0; | |
|
Mike Lerman
2015/06/29 19:14:37
Perhaps make the second parameter a *& rather than
anthonyvd
2015/06/30 21:24:53
I'm not too sure about that. The pointer-to-pointe
Mike Lerman
2015/07/02 18:01:30
I agree with your analysis of the two options, and
anthonyvd
2015/07/07 21:05:32
I went ahead and implemented 2) without the actual
| |
| 106 | |
| 107 // Returns the amount of known profiles. | |
|
Mike Lerman
2015/06/29 19:14:37
s/amount/count? quantity? numeracy?/
anthonyvd
2015/06/30 21:24:53
Done.
| |
| 108 virtual size_t GetNumberOfProfiles() const = 0; | |
| 109 | |
| 110 DISALLOW_COPY_AND_ASSIGN(ProfileMetadataStorage); | |
| 111 }; | |
| 112 | |
| 113 #endif // CHROME_BROWSER_PROFILES_PROFILE_METADATA_STORAGE_H_ | |
| OLD | NEW |