Chromium Code Reviews| Index: chrome/browser/profiles/profile_statistics.h |
| diff --git a/chrome/browser/profiles/profile_statistics.h b/chrome/browser/profiles/profile_statistics.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..da8b7462a1bcddeb203ef2ba628484049629dbfe |
| --- /dev/null |
| +++ b/chrome/browser/profiles/profile_statistics.h |
| @@ -0,0 +1,50 @@ |
| +// 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_STATISTICS_H_ |
| +#define CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |
| + |
| +#include <string> |
| +#include <utility> |
| +#include <vector> |
| +#include "base/task/cancelable_task_tracker.h" |
| +#include "chrome/browser/profiles/profile.h" |
| + |
| +namespace profiles { |
| + |
| +// Constants for the categories in ProfileCategoryStats |
| +extern const char kProfileStatisticsBrowsingHistory[]; |
| +extern const char kProfileStatisticsPasswords[]; |
| +extern const char kProfileStatisticsBookmarks[]; |
| +extern const char kProfileStatisticsSettings[]; |
| + |
| +// Definition of a single return value of |ProfileStatisticsCallback|. If |
| +// |success| is false, the statistics failed to load and |count| is undefined. |
| +// The data look like these: {"BrowsingHistory", 912, true}, |
| +// {"Passwords", 71, true}, {"Bookmarks", 120, true}, {"Settings", 200, true} |
| +struct ProfileCategoryStat { |
| + std::string category; |
| + int count; |
| + bool success; |
| +}; |
| + |
| +// Definition of the return value of |ProfileStatisticsCallback|. |
| +typedef std::vector<ProfileCategoryStat> ProfileCategoryStats; |
|
achuithb
2015/10/02 23:48:36
nit c++11 way is:
using ProfileCategoryStats = st
lwchkg
2015/10/09 19:36:25
Acknowledged. I'll switch to using c++11 features
|
| + |
| +// Definition of the callback function. Note that a copy of |
| +// |ProfileCategoryStats| is made each time the callback is called. |
| +typedef base::Callback<void(ProfileCategoryStats)> |
|
achuithb
2015/10/02 23:48:36
use using
lwchkg
2015/10/09 19:36:25
Acknowledged.
|
| + ProfileStatisticsCallback; |
| + |
| +// This function collects statistical information about |profile| and returns |
| +// the information via |callback|. Currently bookmarks, history, logins and |
| +// preferences are counted. The callback function will probably be called more |
| +// than once so binding parameters with bind::Passed() is prohibited. |
| +void GetProfileStatistics(Profile* profile, |
| + const ProfileStatisticsCallback& callback, |
| + base::CancelableTaskTracker* tracker); |
| + |
| +} // namespace profiles |
| + |
| +#endif // CHROME_BROWSER_PROFILES_PROFILE_STATISTICS_H_ |