1 // Copyright (c) 2011 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_SYSTEM_STATISTICS_PROVIDER_H_
6 #define CHROME_BROWSER_CHROMEOS_SYSTEM_STATISTICS_PROVIDER_H_
13 // This interface provides access to Chrome OS statistics.
14 class StatisticsProvider
{
16 // Initializes the statistics provider.
17 virtual void Init() = 0;
19 // Starts loading the machine statistcs.
20 virtual void StartLoadingMachineStatistics() = 0;
22 // Retrieve the named machine statistic (e.g. "hardware_class").
23 // This does not update the statistcs. If the |name| is not set, |result|
24 // preserves old value.
25 virtual bool GetMachineStatistic(const std::string
& name
,
26 std::string
* result
) = 0;
28 // Retrieve boolean value for named machine flag.
29 virtual bool GetMachineFlag(const std::string
& name
,
32 // Loads kiosk oem manifest file.
33 virtual void LoadOemManifest() = 0;
35 static StatisticsProvider
* GetInstance();
38 virtual ~StatisticsProvider() {}
42 } // namespace chromeos
44 #endif // CHROME_BROWSER_CHROMEOS_SYSTEM_STATISTICS_PROVIDER_H_