1 // Copyright 2015 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 
5 #ifndef CHROME_BROWSER_CHROMEOS_POLICY_REMOTE_COMMANDS_DEVICE_COMMAND_REBOOT_JOB_H_
6 #define CHROME_BROWSER_CHROMEOS_POLICY_REMOTE_COMMANDS_DEVICE_COMMAND_REBOOT_JOB_H_
7 
8 #include "base/macros.h"
9 #include "components/policy/core/common/remote_commands/remote_command_job.h"
10 
11 namespace chromeos {
12 
13 class PowerManagerClient;
14 
15 }  // namespace chromeos
16 
17 namespace policy {
18 
19 class DeviceCommandRebootJob : public RemoteCommandJob {
20  public:
21   explicit DeviceCommandRebootJob(
22       chromeos::PowerManagerClient* power_manager_client);
23   ~DeviceCommandRebootJob() override;
24 
25   // RemoteCommandJob:
26   enterprise_management::RemoteCommand_Type GetType() const override;
27 
28  private:
29   // RemoteCommandJob:
30   void RunImpl(CallbackWithResult succeeded_callback,
31                CallbackWithResult failed_callback) override;
32 
33   chromeos::PowerManagerClient* power_manager_client_;
34 
35   DISALLOW_COPY_AND_ASSIGN(DeviceCommandRebootJob);
36 };
37 
38 }  // namespace policy
39 
40 #endif  // CHROME_BROWSER_CHROMEOS_POLICY_REMOTE_COMMANDS_DEVICE_COMMAND_REBOOT_JOB_H_
41