| Index: chrome/browser/chromeos/system/statistics_provider.h
|
| diff --git a/chrome/browser/chromeos/system/statistics_provider.h b/chrome/browser/chromeos/system/statistics_provider.h
|
| index 1908087826ccb6b91d74b66b56b69ea3cdbde80e..671fc9212c31ee8035103cb883d40de4f3f5ee9a 100644
|
| --- a/chrome/browser/chromeos/system/statistics_provider.h
|
| +++ b/chrome/browser/chromeos/system/statistics_provider.h
|
| @@ -8,6 +8,8 @@
|
|
|
| #include <string>
|
|
|
| +#include "base/callback.h"
|
| +
|
| namespace chromeos {
|
| namespace system {
|
|
|
| @@ -16,10 +18,19 @@ class StatisticsProvider {
|
| public:
|
| // Retrieve the named machine statistic (e.g. "hardware_class").
|
| // This does not update the statistcs. If the |name| is not set, |result|
|
| - // preserves old value.
|
| + // preserves the previous value.
|
| + // This call may block if the statistics aren't ready yet, up to a timeout;
|
| + // it may also fail because the statistics weren't ready before the timeout.
|
| + // To make sure this won't block nor fail, invoke GetMachineStatistic() after
|
| + // WhenReady() has invoked its callback.
|
| virtual bool GetMachineStatistic(const std::string& name,
|
| std::string* result) = 0;
|
|
|
| + // Invokes |callback| on the UI loop once the statistics have been loaded.
|
| + // |callback| is immediately posted to the UI loop if the statistics are
|
| + // already available.
|
| + virtual void WhenReady(const base::Closure& callback) = 0;
|
| +
|
| static StatisticsProvider* GetInstance();
|
|
|
| protected:
|
|
|