Home | History | Annotate | Download | only in screens
      1 // Copyright (c) 2012 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_RESET_SCREEN_ACTOR_H_
      6 #define CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_SCREEN_ACTOR_H_
      7 
      8 #include <string>
      9 
     10 namespace chromeos {
     11 
     12 // Interface between reset screen and its representation.
     13 // Note, do not forget to call OnActorDestroyed in the dtor.
     14 class ResetScreenActor {
     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(ResetScreenActor* actor) = 0;
     27   };
     28 
     29   virtual ~ResetScreenActor() {}
     30 
     31   virtual void PrepareToShow() = 0;
     32   virtual void Show() = 0;
     33   virtual void Hide() = 0;
     34   virtual void SetDelegate(Delegate* delegate) = 0;
     35 };
     36 
     37 }  // namespace chromeos
     38 
     39 #endif  // CHROME_BROWSER_CHROMEOS_LOGIN_SCREENS_RESET_SCREEN_ACTOR_H_
     40