3 * (c) 2010 Adam Lackorzynski <adam@os.inf.tu-dresden.de>,
4 * Alexander Warg <warg@os.inf.tu-dresden.de>
5 * economic rights: Technische Universität Dresden (Germany)
7 * This file is part of TUD:OS and distributed under the terms of the
8 * GNU General Public License 2.
9 * Please see the COPYING-GPL-2 file for details.
13 #include <l4/re/event>
17 namespace Mag_server {
24 friend class Core_api;
25 Input_source *_next_active;
27 void add_lua_input_source(lua_State *l, int ref_table);
34 explicit Input_source(Core_api *core = 0) : _core(core) {}
35 virtual void poll_events() = 0;
36 void post_event(L4Re::Event_buffer::Event const *e);
37 Input_source *next() const { return _next_active; }
38 virtual int get_stream_info(l4_umword_t stream_id, L4Re::Event_stream_info *info) = 0;
39 virtual int get_axis_info(l4_umword_t stream_id, unsigned naxes, unsigned *axes, L4Re::Event_absinfo *info) = 0;