Home | History | Annotate | Download | only in ash
      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 ASH_SHELL_OBSERVER_H_
      6 #define ASH_SHELL_OBSERVER_H_
      7 
      8 #include "ash/ash_export.h"
      9 #include "ash/system/user/login_status.h"
     10 
     11 namespace aura {
     12 class RootWindow;
     13 }
     14 
     15 namespace ash {
     16 
     17 class ASH_EXPORT ShellObserver {
     18  public:
     19   // Invoked after the screen's work area insets changes.
     20   virtual void OnDisplayWorkAreaInsetsChanged() {}
     21 
     22   // Invoked when the user logs in.
     23   virtual void OnLoginStateChanged(user::LoginStatus status) {}
     24 
     25   // Invoked when the application is exiting.
     26   virtual void OnAppTerminating() {}
     27 
     28   // Invoked when the screen is locked (after the lock window is visible) or
     29   // unlocked.
     30   virtual void OnLockStateChanged(bool locked) {}
     31 
     32   // Invoked when the shelf alignment in |root_window| is changed.
     33   virtual void OnShelfAlignmentChanged(aura::RootWindow* root_window) {}
     34 
     35   // Invoked when the projection touch HUD is toggled.
     36   virtual void OnTouchHudProjectionToggled(bool enabled) {}
     37 
     38  protected:
     39   virtual ~ShellObserver() {}
     40 };
     41 
     42 }  // namespace ash
     43 
     44 #endif  // ASH_SHELL_OBSERVER_H_
     45