Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(268)

Side by Side Diff: athena/input/public/input_manager.h

Issue 654343002: Intorduce PowerButtonObserver API (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: speculative fix Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « athena/input/power_button_controller.cc ('k') | athena/system/DEPS » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_ 5 #ifndef ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_
6 #define ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_ 6 #define ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_
7 7
8 #include "athena/athena_export.h" 8 #include "athena/athena_export.h"
9 9
10 namespace aura { 10 namespace aura {
11 class Window; 11 class Window;
12 } 12 }
13 13
14 namespace ui { 14 namespace ui {
15 class EventTarget; 15 class EventTarget;
16 } 16 }
17 17
18 namespace athena { 18 namespace athena {
19 class AcceleratorManager; 19 class AcceleratorManager;
20 20
21 class PowerButtonObserver {
22 public:
23 enum State {
24 PRESSED,
25 LONG_PRESSED,
26 RELEASED,
27 };
28
29 virtual void OnPowerButtonStateChanged(State state) = 0;
30 };
31
21 class ATHENA_EXPORT InputManager { 32 class ATHENA_EXPORT InputManager {
22 public: 33 public:
23 // Creates and deletes the singleton object of the InputManager 34 // Creates and deletes the singleton object of the InputManager
24 // implementation. 35 // implementation.
25 static InputManager* Create(); 36 static InputManager* Create();
26 static InputManager* Get(); 37 static InputManager* Get();
27 static void Shutdown(); 38 static void Shutdown();
28 39
29 // TODO(oshima): Fix the initialization process and replace this 40 // TODO(oshima): Fix the initialization process and replace this
30 // with EnvObserver::WindowInitialized 41 // with EnvObserver::WindowInitialized
31 virtual void OnRootWindowCreated(aura::Window* root_window) = 0; 42 virtual void OnRootWindowCreated(aura::Window* root_window) = 0;
32 43
44 // Add/remove power button observer.
45 virtual void AddPowerButtonObserver(PowerButtonObserver* observer) = 0;
46 virtual void RemovePowerButtonObserver(PowerButtonObserver* observer) = 0;
47
33 virtual ui::EventTarget* GetTopmostEventTarget() = 0; 48 virtual ui::EventTarget* GetTopmostEventTarget() = 0;
34 virtual AcceleratorManager* GetAcceleratorManager() = 0; 49 virtual AcceleratorManager* GetAcceleratorManager() = 0;
35 50
36 virtual ~InputManager() {} 51 virtual ~InputManager() {}
37 }; 52 };
38 53
39 } // namespace athena 54 } // namespace athena
40 55
41 #endif // ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_ 56 #endif // ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_
OLDNEW
« no previous file with comments | « athena/input/power_button_controller.cc ('k') | athena/system/DEPS » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698