Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / chromeos / login / screens / host_pairing_screen_actor.h
bloba021ea10bcfd948a6b7ad8f2ee811de85ac7d5ab
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"
10 namespace base {
11 class DictionaryValue;
14 namespace chromeos {
16 namespace host_pairing {
18 // Keep these constants synced with corresponding constants defined in
19 // oobe_screen_host_pairing.js.
20 // Conxtext keys.
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[];
27 // Pages names.
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 {
39 public:
40 class Delegate {
41 public:
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;
54 private:
55 DISALLOW_COPY_AND_ASSIGN(HostPairingScreenActor);
58 } // namespace chromeos
60 #endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_