146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// found in the LICENSE file. 446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_ACTOR_H_ 646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_ACTOR_H_ 746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)namespace chromeos { 946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Interface between auto-enrollment check screen and its representation. 1146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)// Note, do not forget to call OnActorDestroyed in the dtor. 1246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)class AutoEnrollmentCheckScreenActor { 1346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 1446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // Allows us to get info from auto-enrollment check screen that we need. 1546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) class Delegate { 1646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) public: 1746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual ~Delegate() {} 1846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 1946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // Called when screen is exited. 2046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OnExit() = 0; 2146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // This method is called, when actor is being destroyed. Note, if Delegate 2346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) // is destroyed earlier then it has to call SetDelegate(NULL). 2446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void OnActorDestroyed(AutoEnrollmentCheckScreenActor* actor) = 0; 2546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) }; 2646d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2746d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual ~AutoEnrollmentCheckScreenActor() {} 2846d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 2946d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void Show() = 0; 3046d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) virtual void SetDelegate(Delegate* delegate) = 0; 3146d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)}; 3246d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3346d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)} // namespace chromeos 3446d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles) 3546d4c2bc3267f3f028f39e7e311b0f89aba2e4fdTorne (Richard Coles)#endif // CHROME_BROWSER_CHROMEOS_LOGIN_ENROLLMENT_AUTO_ENROLLMENT_CHECK_SCREEN_ACTOR_H_ 36