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 CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_
8 #include "base/macros.h"
11 class DictionaryValue
;
16 namespace host_pairing
{
18 // Keep these constants synced with corresponding constants defined in
19 // oobe_screen_host_pairing.js.
21 extern const char kContextKeyPage
[];
22 extern const char kContextKeyDeviceName
[];
23 extern const char kContextKeyConfirmationCode
[];
24 extern const char kContextKeyEnrollmentDomain
[];
25 extern const char kContextKeyUpdateProgress
[];
28 extern const char kPageWelcome
[];
29 extern const char kPageCodeConfirmation
[];
30 extern const char kPageUpdate
[];
31 extern const char kPageEnrollmentIntroduction
[];
32 extern const char kPageEnrollment
[];
33 extern const char kPageEnrollmentError
[];
34 extern const char kPagePairingDone
[];
36 } // namespace host_pairing
38 class HostPairingScreenActor
{
42 virtual ~Delegate() {}
43 virtual void OnActorDestroyed(HostPairingScreenActor
* actor
) = 0;
46 HostPairingScreenActor();
47 virtual ~HostPairingScreenActor();
49 virtual void Show() = 0;
50 virtual void Hide() = 0;
51 virtual void SetDelegate(Delegate
* delegate
) = 0;
52 virtual void OnContextChanged(const base::DictionaryValue
& diff
) = 0;
55 DISALLOW_COPY_AND_ASSIGN(HostPairingScreenActor
);
58 } // namespace chromeos
60 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_