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_CONTROLLER_PAIRING_SCREEN_ACTOR_H_
6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_CONTROLLER_PAIRING_SCREEN_ACTOR_H_
10 #include "base/macros.h"
13 class DictionaryValue
;
22 namespace controller_pairing
{
24 // Keep these constants synced with corresponding constants defined in
25 // oobe_screen_controller_pairing.js.
27 extern const char kContextKeyPage
[];
28 extern const char kContextKeyControlsDisabled
[];
29 extern const char kContextKeyDevices
[];
30 extern const char kContextKeyConfirmationCode
[];
31 extern const char kContextKeySelectedDevice
[];
32 extern const char kContextKeyAccountId
[];
33 extern const char kContextKeyEnrollmentDomain
[];
36 extern const char kPageDevicesDiscovery
[];
37 extern const char kPageDeviceSelect
[];
38 extern const char kPageDeviceNotFound
[];
39 extern const char kPageEstablishingConnection
[];
40 extern const char kPageEstablishingConnectionError
[];
41 extern const char kPageCodeConfirmation
[];
42 extern const char kPageHostUpdate
[];
43 extern const char kPageHostConnectionLost
[];
44 extern const char kPageEnrollmentIntroduction
[];
45 extern const char kPageAuthentication
[];
46 extern const char kPageHostEnrollment
[];
47 extern const char kPageHostEnrollmentError
[];
48 extern const char kPagePairingDone
[];
51 extern const char kActionChooseDevice
[];
52 extern const char kActionRepeatDiscovery
[];
53 extern const char kActionAcceptCode
[];
54 extern const char kActionRejectCode
[];
55 extern const char kActionProceedToAuthentication
[];
56 extern const char kActionEnroll
[];
57 extern const char kActionStartSession
[];
59 } // namespace controller_pairing
61 class ControllerPairingScreenActor
{
65 virtual ~Delegate() {}
66 virtual void OnActorDestroyed(ControllerPairingScreenActor
* actor
) = 0;
67 virtual void OnScreenContextChanged(const base::DictionaryValue
& diff
) = 0;
68 virtual void OnUserActed(const std::string
& action
) = 0;
71 ControllerPairingScreenActor();
72 virtual ~ControllerPairingScreenActor();
74 virtual void Show() = 0;
75 virtual void Hide() = 0;
76 virtual void SetDelegate(Delegate
* delegate
) = 0;
77 virtual void OnContextChanged(const base::DictionaryValue
& diff
) = 0;
78 virtual content::BrowserContext
* GetBrowserContext() = 0;
81 DISALLOW_COPY_AND_ASSIGN(ControllerPairingScreenActor
);
84 } // namespace chromeos
86 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_CONTROLLER_PAIRING_SCREEN_ACTOR_H_