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 _DISPATCHER_H_ 23 #define _DISPATCHER_H_ 24 25 #include "str.h" 26 27 enum DispMsgType { 28 DM_SET = 0, 29 DM_GET, 30 DM_SETFILE, 31 DM_SENDB, 32 DM_SENDS, 33 DM_CKPD, 34 //DM_CMER, 35 DM_EVENT, 36 DM_FRONTEND, 37 DM_TYPE_MAX 38 }; 39 40 41 typedef struct { 42 int peer; 43 int type; 44 int subtype; 45 int size; 46 void* value; 47 char* file; 48 char* scaled; // scaled file name 49 } dMessage; 50 51 pointer_t dispatcherRoutine (pointer_t thread); 52 void sendToDispatcher (dMessage *buf); 53 void freeDMessage (void* ptr); 54 dMessage* allocDMessage(); 55 void parseCommand (int peerId, char* cmd); 56 void closePort (int final); 57 char* readFromFile (const char *cmdTag, const char* file, int* size); 58 dMessage* getDFinalizer (void); 59 60 #endif 61