kodi
EventLoop.h
1 /*
2  * Copyright (C) 2012-2018 Team Kodi
3  * This file is part of Kodi - https://kodi.tv
4  *
5  * SPDX-License-Identifier: GPL-2.0-or-later
6  * See LICENSES/README.md for more information.
7  */
8 
9 #pragma once
10 
11 #include "IActivityHandler.h"
12 #include "IInputHandler.h"
13 
14 #include <android_native_app_glue.h>
15 
17 {
18 public:
19  CEventLoop(android_app* application);
20 
21  void run(IActivityHandler &activityHandler, IInputHandler &inputHandler);
22 
23 protected:
24  void activate();
25  void deactivate();
26 
27  void processActivity(int32_t command);
28  int32_t processInput(AInputEvent* event);
29 
30 private:
31  static void activityCallback(android_app* application, int32_t command);
32  static int32_t inputCallback(android_app* application, AInputEvent* event);
33 
34  bool m_enabled = false;
35  android_app* m_application;
36  IActivityHandler* m_activityHandler;
37  IInputHandler* m_inputHandler;
38 };
39 
Definition: IInputHandler.h:16
Definition: EventLoop.h:16
Definition: IActivityHandler.h:24