103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved.
203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be
303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)// found in the LICENSE file.
403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_POLICY_FAKE_DEVICE_CLOUD_POLICY_INITIALIZER_H_
603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_POLICY_FAKE_DEVICE_CLOUD_POLICY_INITIALIZER_H_
703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include <string>
903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "base/compiler_specific.h"
1103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "base/macros.h"
1203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/browser/chromeos/policy/device_cloud_policy_initializer.h"
1303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "chrome/browser/chromeos/policy/enrollment_status_chromeos.h"
1403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#include "policy/proto/device_management_backend.pb.h"
1503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)namespace policy {
1703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
1803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class DeviceManagementService;
1903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)class FakeDeviceCloudPolicyInitializer : public DeviceCloudPolicyInitializer {
2103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) public:
2203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  FakeDeviceCloudPolicyInitializer();
2303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  virtual void Init() OVERRIDE;
2503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  virtual void Shutdown() OVERRIDE;
2603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
2703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  virtual void StartEnrollment(
2803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      enterprise_management::PolicyData::ManagementMode management_mode,
2903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      DeviceManagementService* device_management_service,
3003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      const std::string& auth_token,
3103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      bool is_auto_enrollment,
3203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      const AllowedDeviceModes& allowed_modes,
3303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)      const EnrollmentCallback& enrollment_callback) OVERRIDE;
3403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
3503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  bool was_start_enrollment_called() {
3603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    return was_start_enrollment_called_;
3703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  }
3803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
3903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  void set_enrollment_status(EnrollmentStatus status) {
4003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)    enrollment_status_ = status;
4103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  }
4203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
4303b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles) private:
4403b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  bool was_start_enrollment_called_;
4503b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  EnrollmentStatus enrollment_status_;
4603b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
4703b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)  DISALLOW_COPY_AND_ASSIGN(FakeDeviceCloudPolicyInitializer);
4803b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)};
4903b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
5003b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)}  // namespace policy
5103b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)
5203b57e008b61dfcb1fbad3aea950ae0e001748b0Torne (Richard Coles)#endif  // CHROME_BROWSER_CHROMEOS_POLICY_FAKE_DEVICE_CLOUD_POLICY_INITIALIZER_H_
53