OLD | NEW |
---|---|
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ | 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ |
6 #define CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ | 6 #define CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
11 | 11 |
12 #include "base/files/file_path.h" | 12 #include "base/files/file_path.h" |
13 #include "base/macros.h" | 13 #include "base/macros.h" |
14 #include "base/memory/scoped_ptr.h" | |
14 #include "base/strings/string16.h" | 15 #include "base/strings/string16.h" |
15 #include "base/time/time.h" | 16 #include "base/time/time.h" |
17 #include "third_party/icu/source/i18n/unicode/coll.h" | |
tapted
2016/02/02 00:20:55
this doesn't compile for me on mac: unicode/utypes
lwchkg
2016/02/03 17:18:38
Oh. Can you start the try bot about Mac for me? It
lwchkg
2016/02/04 14:27:06
Find the cause of the error. There's a new depende
| |
16 | 18 |
17 namespace gfx { | 19 namespace gfx { |
18 class Image; | 20 class Image; |
19 } | 21 } |
20 | 22 |
21 class ProfileInfoCache; | 23 class ProfileInfoCache; |
22 | 24 |
23 class ProfileAttributesEntry { | 25 class ProfileAttributesEntry { |
24 public: | 26 public: |
27 // Compares two ProfileAttributesEntry using locale-sensitive comparison of | |
28 // their names. For ties, the profile path is compared next. | |
29 class SortComparator { | |
30 public: | |
31 explicit SortComparator(const icu::Collator* const collator) | |
32 : collator_(collator) {} | |
33 bool operator()(const ProfileAttributesEntry* const a, | |
34 const ProfileAttributesEntry* const b) const; | |
35 // Returns a Collator which is used to construct SortComparator. | |
36 static scoped_ptr<icu::Collator> GetCollator(); | |
37 private: | |
38 const icu::Collator* const collator_; | |
tapted
2016/01/31 23:04:37
The ownership in this class is not right. You shou
lwchkg
2016/02/01 06:31:20
Before coming to this version, actually I tried wh
tapted
2016/02/02 00:20:55
I think you just need to add a move constructor to
| |
39 }; | |
40 | |
25 ProfileAttributesEntry(); | 41 ProfileAttributesEntry(); |
26 virtual ~ProfileAttributesEntry() {} | 42 virtual ~ProfileAttributesEntry() {} |
27 | 43 |
28 // Gets the name of the profile, which is the one displayed in the User Menu. | 44 // Gets the name of the profile, which is the one displayed in the User Menu. |
29 base::string16 GetName() const; | 45 base::string16 GetName() const; |
30 | 46 |
31 base::string16 GetShortcutName() const; | 47 base::string16 GetShortcutName() const; |
32 // Gets the path to the profile. Should correspond to the path passed to | 48 // Gets the path to the profile. Should correspond to the path passed to |
33 // ProfileAttributesStorage::GetProfileAttributesWithPath to get this entry. | 49 // ProfileAttributesStorage::GetProfileAttributesWithPath to get this entry. |
34 base::FilePath GetPath() const; | 50 base::FilePath GetPath() const; |
35 base::Time GetActiveTime() const; | 51 base::Time GetActiveTime() const; |
36 // Gets the user name of the signed in profile. This is typically the email | 52 // Gets the user name of the signed in profile. This is typically the email |
37 // address used to sign in and the empty string for profiles that aren't | 53 // address used to sign in and the empty string for profiles that aren't |
38 // signed in to chrome. | 54 // signed in to chrome. |
39 base::string16 GetUserName() const; | 55 base::string16 GetUserName() const; |
40 // Gets the icon used as this profile's avatar. This might not be the icon | 56 // Gets the icon used as this profile's avatar. This might not be the icon |
41 // displayed in the UI if IsUsingGAIAPicture() is true. | 57 // displayed in the UI if IsUsingGAIAPicture() is true. |
42 const gfx::Image& GetAvatarIcon(); | 58 const gfx::Image& GetAvatarIcon() const; |
43 std::string GetLocalAuthCredentials() const; | 59 std::string GetLocalAuthCredentials() const; |
44 std::string GetPasswordChangeDetectionToken() const; | 60 std::string GetPasswordChangeDetectionToken() const; |
45 // Note that a return value of false could mean an error in collection or | 61 // Note that a return value of false could mean an error in collection or |
46 // that there are currently no background apps running. However, the action | 62 // that there are currently no background apps running. However, the action |
47 // which results is the same in both cases (thus far). | 63 // which results is the same in both cases (thus far). |
48 bool GetBackgroundStatus() const; | 64 bool GetBackgroundStatus() const; |
49 // Gets the GAIA full name associated with this profile if it's signed in. | 65 // Gets the GAIA full name associated with this profile if it's signed in. |
50 base::string16 GetGAIAName() const; | 66 base::string16 GetGAIAName() const; |
51 // Gets the GAIA given name associated with this profile if it's signed in. | 67 // Gets the GAIA given name associated with this profile if it's signed in. |
52 base::string16 GetGAIAGivenName() const; | 68 base::string16 GetGAIAGivenName() const; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
134 friend class ProfileInfoCache; | 150 friend class ProfileInfoCache; |
135 void Initialize(ProfileInfoCache* cache, const base::FilePath& path); | 151 void Initialize(ProfileInfoCache* cache, const base::FilePath& path); |
136 size_t profile_index() const; | 152 size_t profile_index() const; |
137 ProfileInfoCache* profile_info_cache_; | 153 ProfileInfoCache* profile_info_cache_; |
138 base::FilePath profile_path_; | 154 base::FilePath profile_path_; |
139 | 155 |
140 DISALLOW_COPY_AND_ASSIGN(ProfileAttributesEntry); | 156 DISALLOW_COPY_AND_ASSIGN(ProfileAttributesEntry); |
141 }; | 157 }; |
142 | 158 |
143 #endif // CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ | 159 #endif // CHROME_BROWSER_PROFILES_PROFILE_ATTRIBUTES_ENTRY_H_ |
OLD | NEW |