// **************************************************************************** // SocketMud II Copyright 2004 Brian Graversen // **************************************************************************** // Revision History // ---------------- // 19/01/04) Initial server code released // **************************************************************************** // This product can be used freely as long as this copyright header remains // intact. This header may not be removed or changed, and any work released // based on this code must contain this header information in all files. // **************************************************************************** #ifndef HEADER_SERVER #define HEADER_SERVER // c++ headers #include <list> // c headers #include <arpa/inet.h> // local headers #include "socket.h" class Server { public: Server ( void ); ~Server ( void ); bool Connect ( int port ); void FlushSockets ( void ); bool PollSockets ( void ); void Sleep ( int pps ); std::list<Socket*> GetSocketList ( void ); private: void Accept ( void ); void CloseSocket ( Socket *pSocket ); std::list<Socket*> socketList; int control; fd_set fSet; fd_set rSet; sockaddr_in my_addr; struct timeval lastSleep; }; #endif