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.
5 #ifndef COMPONENTS_PAIRING_FAKE_HOST_PAIRING_CONTROLLER_H_
6 #define COMPONENTS_PAIRING_FAKE_HOST_PAIRING_CONTROLLER_H_
8 #include "base/macros.h"
9 #include "base/observer_list.h"
10 #include "base/time/time.h"
11 #include "components/pairing/host_pairing_controller.h"
13 namespace pairing_chromeos
{
15 class FakeHostPairingController
16 : public HostPairingController
,
17 public HostPairingController::Observer
{
19 typedef HostPairingController::Observer Observer
;
21 // Config is a comma separated list of key-value pairs separated by colon.
23 // * async_duration - integer. Default: 3000.
24 // * start_after_update - {0,1}. Default: 0.
25 // * fail_enrollment - {0,1}. Default: 0.
26 // * code - 6 digits or empty string. Default: empty string. If strings is
27 // empty, random code is generated.
28 // * device_name - string. Default: "Chromebox-01".
29 // * domain - string. Default: "example.com".
30 explicit FakeHostPairingController(const std::string
& config
);
31 virtual ~FakeHostPairingController();
33 // Applies given |config| to flow.
34 void ApplyConfig(const std::string
& config
);
37 void ChangeStage(Stage new_stage
);
38 void ChangeStageLater(Stage new_stage
);
40 // HostPairingController:
41 virtual void AddObserver(Observer
* observer
) override
;
42 virtual void RemoveObserver(Observer
* observer
) override
;
43 virtual Stage
GetCurrentStage() override
;
44 virtual void StartPairing() override
;
45 virtual std::string
GetDeviceName() override
;
46 virtual std::string
GetConfirmationCode() override
;
47 virtual std::string
GetEnrollmentDomain() override
;
48 virtual void OnUpdateStatusChanged(UpdateStatus update_status
) override
;
49 virtual void OnEnrollmentStatusChanged(
50 EnrollmentStatus enrollment_status
) override
;
52 // HostPairingController::Observer:
53 virtual void PairingStageChanged(Stage new_stage
) override
;
54 virtual void ConfigureHost(bool accepted_eula
,
55 const std::string
& lang
,
56 const std::string
& timezone
,
58 const std::string
& keyboard_layout
) override
;
59 virtual void EnrollHost(const std::string
& auth_token
) override
;
61 ObserverList
<Observer
> observers_
;
63 std::string device_name_
;
64 std::string confirmation_code_
;
65 base::TimeDelta async_duration_
;
67 // If this flag is true error happens on |STAGE_ENROLLING| once.
68 bool enrollment_should_fail_
;
70 // Controller starts its work like if update and reboot already happened.
71 bool start_after_update_
;
73 std::string enrollment_domain_
;
75 DISALLOW_COPY_AND_ASSIGN(FakeHostPairingController
);
78 } // namespace pairing_chromeos
80 #endif // COMPONENTS_PAIRING_FAKE_HOST_PAIRING_CONTROLLER_H_