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. 4 5#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_ 6#define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_ 7 8#include "base/macros.h" 9 10namespace base { 11class DictionaryValue; 12} 13 14namespace chromeos { 15 16namespace host_pairing { 17 18// Keep these constants synced with corresponding constants defined in 19// oobe_screen_host_pairing.js. 20// Conxtext keys. 21extern const char kContextKeyPage[]; 22extern const char kContextKeyDeviceName[]; 23extern const char kContextKeyConfirmationCode[]; 24extern const char kContextKeyEnrollmentDomain[]; 25extern const char kContextKeyUpdateProgress[]; 26 27// Pages names. 28extern const char kPageWelcome[]; 29extern const char kPageCodeConfirmation[]; 30extern const char kPageUpdate[]; 31extern const char kPageEnrollmentIntroduction[]; 32extern const char kPageEnrollment[]; 33extern const char kPageEnrollmentError[]; 34extern const char kPagePairingDone[]; 35 36} // namespace host_pairing 37 38class HostPairingScreenActor { 39 public: 40 class Delegate { 41 public: 42 virtual ~Delegate() {} 43 virtual void OnActorDestroyed(HostPairingScreenActor* actor) = 0; 44 }; 45 46 HostPairingScreenActor(); 47 virtual ~HostPairingScreenActor(); 48 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; 53 54 private: 55 DISALLOW_COPY_AND_ASSIGN(HostPairingScreenActor); 56}; 57 58} // namespace chromeos 59 60#endif // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_HOST_PAIRING_SCREEN_ACTOR_H_ 61