Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / athena / input / public / input_manager.h
index cc70175..cd71681 100644 (file)
@@ -18,6 +18,17 @@ class EventTarget;
 namespace athena {
 class AcceleratorManager;
 
+class PowerButtonObserver {
+ public:
+  enum State {
+    PRESSED,
+    LONG_PRESSED,
+    RELEASED,
+  };
+  virtual ~PowerButtonObserver() {}
+  virtual void OnPowerButtonStateChanged(State state) = 0;
+};
+
 class ATHENA_EXPORT InputManager {
  public:
   // Creates and deletes the singleton object of the InputManager
@@ -30,6 +41,10 @@ class ATHENA_EXPORT InputManager {
   // with EnvObserver::WindowInitialized
   virtual void OnRootWindowCreated(aura::Window* root_window) = 0;
 
+  // Add/remove power button observer.
+  virtual void AddPowerButtonObserver(PowerButtonObserver* observer) = 0;
+  virtual void RemovePowerButtonObserver(PowerButtonObserver* observer) = 0;
+
   virtual ui::EventTarget* GetTopmostEventTarget() = 0;
   virtual AcceleratorManager* GetAcceleratorManager() = 0;