OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #ifndef CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |
| 6 #define CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |
| 7 |
| 8 #include <string> |
| 9 #include <utility> |
| 10 #include <vector> |
| 11 #include "base/task/cancelable_task_tracker.h" |
| 12 #include "chrome/browser/profiles/profile.h" |
| 13 |
| 14 namespace profiles { |
| 15 |
| 16 // Constants for the categories in ProfileCategoryStats |
| 17 extern const char kProfileStatisticsBrowsingHistory[]; |
| 18 extern const char kProfileStatisticsPasswords[]; |
| 19 extern const char kProfileStatisticsBookmarks[]; |
| 20 extern const char kProfileStatisticsSettings[]; |
| 21 |
| 22 // Definition of a single return value of |ProfileStatisticsCallback|. If |
| 23 // |success| is false, the statistics failed to load and |count| is undefined. |
| 24 // The data look like these: {"BrowsingHistory", 912, true}, |
| 25 // {"Passwords", 71, true}, {"Bookmarks", 120, true}, {"Settings", 200, true} |
| 26 struct ProfileCategoryStat { |
| 27 std::string category; |
| 28 int count; |
| 29 bool success; |
| 30 }; |
| 31 |
| 32 // Definition of the return value of |ProfileStatisticsCallback|. |
| 33 using ProfileCategoryStats = std::vector<ProfileCategoryStat>; |
| 34 |
| 35 // Definition of the callback function. Note that a copy of |
| 36 // |ProfileCategoryStats| is made each time the callback is called. |
| 37 using ProfileStatisticsCallback = base::Callback<void(ProfileCategoryStats)>; |
| 38 |
| 39 // This function collects statistical information about |profile| and returns |
| 40 // the information via |callback|. Currently bookmarks, history, logins and |
| 41 // preferences are counted. The callback function will probably be called more |
| 42 // than once so binding parameters with bind::Passed() is prohibited. |
| 43 void GetProfileStatistics(Profile* profile, |
| 44 const ProfileStatisticsCallback& callback, |
| 45 base::CancelableTaskTracker* tracker); |
| 46 |
| 47 } // namespace profiles |
| 48 |
| 49 #endif // CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |
OLD | NEW |