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"
19 class AcceleratorManager
;
21 class ATHENA_EXPORT InputManager
{
23 // Creates and deletes the singleton object of the InputManager
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() {}
41 #endif // ATHENA_INPUT_PUBLIC_INPUT_MANAGER_H_