Home | History | Annotate | Download | only in screens
      1 // Copyright 2013 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_KIOSK_ENABLE_SCREEN_ACTOR_H_
      6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_KIOSK_ENABLE_SCREEN_ACTOR_H_
      7 
      8 #include <string>
      9 
     10 namespace chromeos {
     11 
     12 // Interface between enable kiosk screen and its representation.
     13 // Note, do not forget to call OnActorDestroyed in the dtor.
     14 class KioskEnableScreenActor {
     15  public:
     16   // Allows us to get info from reset screen that we need.
     17   class Delegate {
     18    public:
     19     virtual ~Delegate() {}
     20 
     21     // Called when screen is exited.
     22     virtual void OnExit() = 0;
     23 
     24     // This method is called, when actor is being destroyed. Note, if Delegate
     25     // is destroyed earlier then it has to call SetDelegate(NULL).
     26     virtual void OnActorDestroyed(KioskEnableScreenActor* actor) = 0;
     27   };
     28 
     29   virtual ~KioskEnableScreenActor() {}
     30 
     31   virtual void Show() = 0;
     32   virtual void SetDelegate(Delegate* delegate) = 0;
     33 };
     34 
     35 }  // namespace chromeos
     36 
     37 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_KIOSK_ENABLE_SCREEN_ACTOR_H_
     38