00001 /* 00002 ######################################################################### 00003 # 00004 # This file is part of trustyRC. 00005 # 00006 # trustyRC, fully modular IRC robot 00007 # Copyright (C) 2006-2008 Nicoleau Fabien 00008 # 00009 # trustyRC is free software: you can redistribute it and/or modify 00010 # it under the terms of the GNU General Public License as published by 00011 # the Free Software Foundation, either version 3 of the License, or 00012 # (at your option) any later version. 00013 # 00014 # trustyRC is distributed in the hope that it will be useful, 00015 # but WITHOUT ANY WARRANTY; without even the implied warranty of 00016 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00017 # GNU General Public License for more details. 00018 # 00019 # You should have received a copy of the GNU General Public License 00020 # along with trustyRC. If not, see <http://www.gnu.org/licenses/>. 00021 # 00022 ######################################################################### 00023 */ 00024 00029 #ifndef REMOTECONTROL_H 00030 #define REMOTECONTROL_H 00031 00032 #include "../cppthread.h" 00033 #include "../plugin.h" 00034 #include "../botkernel.h" 00035 00036 #include <iostream> 00037 using namespace std; 00038 00046 class RemoteControl : public Plugin 00047 { 00048 private: 00050 CPPThread* pt; 00052 int sockfd; 00054 int * clients; 00056 unsigned int MYPORT; 00058 unsigned int MAXCLIENTS ; 00060 static const int BACKLOG = 5; 00062 static const int MAXDATASIZE = 100 ; 00063 public: 00065 RemoteControl(BotKernel*); 00067 ~RemoteControl(); 00069 void setSocketList(struct timeval*,fd_set*); 00071 int manageNewConnection(int); 00073 void* tcpServer(BotKernel*); 00074 }; 00075 00076 00077 #endif 00078