blob: 324a36084fc2157c6eebbad24477d35ec669dc8d [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
8#include <string>
9
10#include "update_engine/policy_manager/system_provider.h"
11
12namespace chromeos_policy_manager {
13
14// SystemProvider concrete implementation.
15class RealSystemProvider : public SystemProvider {
16 public:
17 RealSystemProvider() {}
18
Alex Deymo42c30c32014-04-24 18:41:18 -070019 // Initializes the provider and returns whether it succeeded.
20 bool Init();
21
David Zeuthen21716e22014-04-23 15:42:05 -070022 virtual Variable<bool>* var_is_normal_boot_mode() override {
23 return var_is_normal_boot_mode_.get();
24 }
25
26 virtual Variable<bool>* var_is_official_build() override {
27 return var_is_official_build_.get();
28 }
29
Alex Deymobd04b142014-03-18 15:00:05 -070030 private:
David Zeuthen21716e22014-04-23 15:42:05 -070031 scoped_ptr<Variable<bool>> var_is_normal_boot_mode_;
32 scoped_ptr<Variable<bool>> var_is_official_build_;
33
Alex Deymobd04b142014-03-18 15:00:05 -070034 DISALLOW_COPY_AND_ASSIGN(RealSystemProvider);
35};
36
37} // namespace chromeos_policy_manager
38
39#endif // CHROMEOS_PLATFORM_UPDATE_ENGINE_POLICY_MANAGER_REAL_SYSTEM_PROVIDER_H_