diff options
Diffstat (limited to 'chromeos/system')
-rw-r--r-- | chromeos/system/fake_statistics_provider.cc | 8 | ||||
-rw-r--r-- | chromeos/system/fake_statistics_provider.h | 2 | ||||
-rw-r--r-- | chromeos/system/statistics_provider.cc | 13 | ||||
-rw-r--r-- | chromeos/system/statistics_provider.h | 9 |
4 files changed, 32 insertions, 0 deletions
diff --git a/chromeos/system/fake_statistics_provider.cc b/chromeos/system/fake_statistics_provider.cc index e9f530b..0f264c4 100644 --- a/chromeos/system/fake_statistics_provider.cc +++ b/chromeos/system/fake_statistics_provider.cc @@ -27,6 +27,10 @@ bool FakeStatisticsProvider::GetMachineStatistic(const std::string& name, return match != machine_statistics_.end(); } +bool FakeStatisticsProvider::HasMachineStatistic(const std::string& name) { + return machine_statistics_.find(name) != machine_statistics_.end(); +} + bool FakeStatisticsProvider::GetMachineFlag(const std::string& name, bool* result) { std::map<std::string, bool>::const_iterator match = machine_flags_.find(name); @@ -35,6 +39,10 @@ bool FakeStatisticsProvider::GetMachineFlag(const std::string& name, return match != machine_flags_.end(); } +bool FakeStatisticsProvider::HasMachineFlag(const std::string& name) { + return machine_flags_.find(name) != machine_flags_.end(); +} + void FakeStatisticsProvider::Shutdown() { } diff --git a/chromeos/system/fake_statistics_provider.h b/chromeos/system/fake_statistics_provider.h index 7953c40..c2dde04 100644 --- a/chromeos/system/fake_statistics_provider.h +++ b/chromeos/system/fake_statistics_provider.h @@ -25,7 +25,9 @@ class FakeStatisticsProvider : public StatisticsProvider { bool load_oem_manifest) override; virtual bool GetMachineStatistic(const std::string& name, std::string* result) override; + virtual bool HasMachineStatistic(const std::string& name) override; virtual bool GetMachineFlag(const std::string& name, bool* result) override; + virtual bool HasMachineFlag(const std::string& name) override; virtual void Shutdown() override; void SetMachineStatistic(const std::string& key, const std::string& value); diff --git a/chromeos/system/statistics_provider.cc b/chromeos/system/statistics_provider.cc index 48ff3d7..68a3f9c 100644 --- a/chromeos/system/statistics_provider.cc +++ b/chromeos/system/statistics_provider.cc @@ -74,6 +74,7 @@ const char kHardwareClassKey[] = "hardware_class"; const char kOffersCouponCodeKey[] = "ubind_attribute"; const char kOffersGroupCodeKey[] = "gbind_attribute"; const char kRlzBrandCodeKey[] = "rlz_brand_code"; +const char kActivateDateKey[] = "ActivateDate"; // OEM specific statistics. Must be prefixed with "oem_". const char kOemCanExitEnterpriseEnrollmentKey[] = "oem_can_exit_enrollment"; @@ -94,7 +95,9 @@ class StatisticsProviderImpl : public StatisticsProvider { bool load_oem_manifest) override; virtual bool GetMachineStatistic(const std::string& name, std::string* result) override; + virtual bool HasMachineStatistic(const std::string& name) override; virtual bool GetMachineFlag(const std::string& name, bool* result) override; + virtual bool HasMachineFlag(const std::string& name) override; virtual void Shutdown() override; static StatisticsProviderImpl* GetInstance(); @@ -171,6 +174,11 @@ bool StatisticsProviderImpl::GetMachineStatistic(const std::string& name, return true; } +bool StatisticsProviderImpl::HasMachineStatistic(const std::string& name) { + std::string result; + return GetMachineStatistic(name, &result); +} + bool StatisticsProviderImpl::GetMachineFlag(const std::string& name, bool* result) { VLOG(1) << "Machine Flag requested: " << name; @@ -191,6 +199,11 @@ bool StatisticsProviderImpl::GetMachineFlag(const std::string& name, return true; } +bool StatisticsProviderImpl::HasMachineFlag(const std::string& name) { + bool result = false; + return GetMachineFlag(name, &result); +} + void StatisticsProviderImpl::Shutdown() { cancellation_flag_.Set(); // Cancel any pending loads } diff --git a/chromeos/system/statistics_provider.h b/chromeos/system/statistics_provider.h index d1dd22c..be477055a 100644 --- a/chromeos/system/statistics_provider.h +++ b/chromeos/system/statistics_provider.h @@ -49,6 +49,9 @@ CHROMEOS_EXPORT extern const char kOffersGroupCodeKey[]; // Release Brand Code key. CHROMEOS_EXPORT extern const char kRlzBrandCodeKey[]; +// Activation date key. +CHROMEOS_EXPORT extern const char kActivateDateKey[]; + // This interface provides access to Chrome OS statistics. class CHROMEOS_EXPORT StatisticsProvider { public: @@ -66,9 +69,15 @@ class CHROMEOS_EXPORT StatisticsProvider { virtual bool GetMachineStatistic(const std::string& name, std::string* result) = 0; + // Checks whether a machine statistic is present. + virtual bool HasMachineStatistic(const std::string& name) = 0; + // Similar to GetMachineStatistic for boolean flags. virtual bool GetMachineFlag(const std::string& name, bool* result) = 0; + // Checks whether a machine flag is present. + virtual bool HasMachineFlag(const std::string& name) = 0; + // Cancels any pending file operations. virtual void Shutdown() = 0; |