1 /* +------------------------------------+
2 * | Inspire Internet Relay Chat Daemon |
3 * +------------------------------------+
5 * Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
7 * <brain@chatspike.net>
8 * <Craig@chatspike.net>
10 * Written by Craig Edwards, Craig McLure, and others.
11 * This program is free but copyrighted software; see
12 * the file COPYING for details.
14 * ---------------------------------------------------
17 #include <sys/types.h>
18 #include <sys/socket.h>
19 #include <netinet/in.h>
23 enum InspSocketState { I_DISCONNECTED, I_CONNECTING, I_CONNECTED, I_LISTENING, I_ERROR };
24 enum InspSocketError { I_ERR_TIMEOUT, I_ERR_SOCKET, I_ERR_CONNECT };
32 InspSocketState state;
41 InspSocket(std::string host, int port, bool listening, unsigned long maxtime);
42 virtual bool OnConnected();
43 virtual void OnError(InspSocketError e);
44 virtual int OnDisconnect();
45 virtual bool OnDataReady();
46 virtual void OnTimeout();
47 virtual void OnClose();
49 virtual int Write(std::string data);
50 virtual int OnIncomingConnection();
51 void SetState(InspSocketState s);
54 virtual ~InspSocket();