Updating trunk VERSION from 2139.0 to 2140.0
[chromium-blink-merge.git] / athena / input / public / input_manager.h
blobcc7017530f98ee41d6cf1ea00fedf1620d0f4619
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
3 // found in the LICENSE file.
5 #ifndef ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_
6 #define ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_
8 #include "athena/athena_export.h"
10 namespace aura {
11 class Window;
14 namespace ui {
15 class EventTarget;
18 namespace athena {
19 class AcceleratorManager;
21 class ATHENA_EXPORT InputManager {
22 public:
23 // Creates and deletes the singleton object of the InputManager
24 // implementation.
25 static InputManager* Create();
26 static InputManager* Get();
27 static void Shutdown();
29 // TODO(oshima): Fix the initialization process and replace this
30 // with EnvObserver::WindowInitialized
31 virtual void OnRootWindowCreated(aura::Window* root_window) = 0;
33 virtual ui::EventTarget* GetTopmostEventTarget() = 0;
34 virtual AcceleratorManager* GetAcceleratorManager() = 0;
36 virtual ~InputManager() {}
39 } // namespace athena
41 #endif // ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_