blob: 01491acc0a7fe9e4b4bcd5f61e51aff653f67fb7 [file] [log] [blame]
Alex Deymobd04b142014-03-18 15:00:05 -07001// Copyright (c) 2014 The Chromium OS 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
5#ifndef CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_REAL_SYSTEM_PROVIDER_H_
6#define CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_REAL_SYSTEM_PROVIDER_H_
7
Alex Deymo1f012912014-04-24 19:08:04 -07008#include <base/memory/scoped_ptr.h>
9
Alex Deymobd04b142014-03-18 15:00:05 -070010#include <string>
11
12#include "update_engine/policy_manager/system_provider.h"
13
14namespace chromeos_policy_manager {
15
16// SystemProvider concrete implementation.
17class RealSystemProvider : public SystemProvider {
18 public:
19 RealSystemProvider() {}
20
Alex Deymo42c30c32014-04-24 18:41:18 -070021 // Initializes the provider and returns whether it succeeded.
22 bool Init();
23
David Zeuthen21716e22014-04-23 15:42:05 -070024 virtual Variable<bool>* var_is_normal_boot_mode() override {
25 return var_is_normal_boot_mode_.get();
26 }
27
28 virtual Variable<bool>* var_is_official_build() override {
29 return var_is_official_build_.get();
30 }
31
Alex Deymobd04b142014-03-18 15:00:05 -070032 private:
David Zeuthen21716e22014-04-23 15:42:05 -070033 scoped_ptr<Variable<bool>> var_is_normal_boot_mode_;
34 scoped_ptr<Variable<bool>> var_is_official_build_;
35
Alex Deymobd04b142014-03-18 15:00:05 -070036 DISALLOW_COPY_AND_ASSIGN(RealSystemProvider);
37};
38
39} // namespace chromeos_policy_manager
40
41#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_REAL_SYSTEM_PROVIDER_H_