1 //
2 // anyRemote
3 // a wi-fi or bluetooth remote for your PC.
4 //
5 // Copyright (C) 2006-2016 Mikhail Fedotov <anyremote@mail.ru>
6 //
7 // This program is free software; you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation; either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // This program is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with this program; if not, write to the Free Software
19 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
20 //
21 
22 #ifndef _EXECUTOR_H_
23 #define _EXECUTOR_H_
24 
25 #include "lib_wrapper.h"
26 
27 enum ExecMsgType {
28     EM_KEY = 0,
29     EM_STRING,
30     EM_EVENT,
31     EM_ALARM,
32     EM_AS_IS
33 };
34 
35 typedef struct em {
36     int   peer;
37     int   type;
38     void* value;
39 } eMessage;
40 
41 typedef struct {
42     int   id;
43     int   xSz;
44     int   ySz;
45     int   coverSz;
46 } PeerDef;
47 
48 pointer_t executorRoutine	(pointer_t thread);
49 void  	 sendToExecutor  	(eMessage *buf);
50 void  	 freeEMessage  	    (void *buf);
51 void  	 sendEventToExecutor(int peer, int event);
52 void  	 sendToMainMenu		(int peer);
53 
54 #endif
55