Update broken references to image assets
[chromium-blink-merge.git] / chrome / browser / chromeos / login / screens / controller_pairing_screen_actor.h
blob40566dd1395e0c790496888bdce8af5cd10585b1
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_
8 #include <string>
10 #include "base/macros.h"
12 namespace base {
13 class DictionaryValue;
16 namespace content {
17 class BrowserContext;
20 namespace chromeos {
22 namespace controller_pairing {
24 // Keep these constants synced with corresponding constants defined in
25 // oobe_screen_controller_pairing.js.
26 // Context keys.
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[];
35 // Pages names.
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[];
50 // Actions names.
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 {
62 public:
63 class Delegate {
64 public:
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;
80 private:
81 DISALLOW_COPY_AND_ASSIGN(ControllerPairingScreenActor);
84 } // namespace chromeos
86 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_CONTROLLER_PAIRING_SCREEN_ACTOR_H_