fake_statistics_provider.cc 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. // Copyright 2014 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. #include "chromeos/system/fake_statistics_provider.h"
  5. #include <utility>
  6. #include "base/threading/sequenced_task_runner_handle.h"
  7. namespace chromeos {
  8. namespace system {
  9. FakeStatisticsProvider::FakeStatisticsProvider() = default;
  10. FakeStatisticsProvider::~FakeStatisticsProvider() = default;
  11. void FakeStatisticsProvider::StartLoadingMachineStatistics(
  12. bool load_oem_manifest) {
  13. }
  14. void FakeStatisticsProvider::ScheduleOnMachineStatisticsLoaded(
  15. base::OnceClosure callback) {
  16. // No load is required for FakeStatisticsProvider.
  17. base::SequencedTaskRunnerHandle::Get()->PostTask(FROM_HERE,
  18. std::move(callback));
  19. }
  20. bool FakeStatisticsProvider::GetMachineStatistic(const std::string& name,
  21. std::string* result) {
  22. std::map<std::string, std::string>::const_iterator match =
  23. machine_statistics_.find(name);
  24. if (match != machine_statistics_.end() && result)
  25. *result = match->second;
  26. return match != machine_statistics_.end();
  27. }
  28. bool FakeStatisticsProvider::GetMachineFlag(const std::string& name,
  29. bool* result) {
  30. std::map<std::string, bool>::const_iterator match = machine_flags_.find(name);
  31. if (match != machine_flags_.end() && result)
  32. *result = match->second;
  33. return match != machine_flags_.end();
  34. }
  35. void FakeStatisticsProvider::Shutdown() {
  36. }
  37. bool FakeStatisticsProvider::IsRunningOnVm() {
  38. std::string is_vm;
  39. return GetMachineStatistic(kIsVmKey, &is_vm) && is_vm == kIsVmValueTrue;
  40. }
  41. void FakeStatisticsProvider::SetMachineStatistic(const std::string& key,
  42. const std::string& value) {
  43. machine_statistics_[key] = value;
  44. }
  45. void FakeStatisticsProvider::ClearMachineStatistic(const std::string& key) {
  46. machine_statistics_.erase(key);
  47. }
  48. void FakeStatisticsProvider::SetMachineFlag(const std::string& key,
  49. bool value) {
  50. machine_flags_[key] = value;
  51. }
  52. void FakeStatisticsProvider::ClearMachineFlag(const std::string& key) {
  53. machine_flags_.erase(key);
  54. }
  55. ScopedFakeStatisticsProvider::ScopedFakeStatisticsProvider() {
  56. StatisticsProvider::SetTestProvider(this);
  57. }
  58. ScopedFakeStatisticsProvider::~ScopedFakeStatisticsProvider() {
  59. StatisticsProvider::SetTestProvider(NULL);
  60. }
  61. } // namespace system
  62. } // namespace chromeos