]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/connection.h
In the grand tradition of huge fucking commits:
[user/henk/code/inspircd.git] / include / connection.h
index 032f9ba6c9c1bc1ffe0479075b0652ab3cdf9d7a..f476c39a5039f06ab2f7ff19289ca4fe1ca6d3d2 100644 (file)
@@ -2,48 +2,33 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
- *                       E-mail:
- *                <brain@chatspike.net>
- *               <Craig@chatspike.net>
- *     
- * Written by Craig Edwards, Craig McLure, and others.
+ *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ * See: http://www.inspircd.org/wiki/index.php/Credits
+ *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
  *
  * ---------------------------------------------------
  */
 
-#include "inspircd_config.h"
-#include "base.h"
-#include <string>
-#include <map>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <unistd.h>
-#include <errno.h>
-#include <time.h>
-#include <vector>
-#include <deque>
-#include <sstream>
-
 #ifndef __CONNECTION_H__
 #define __CONNECTION_H__
 
-/** Please note: classes serverrec and userrec both inherit from class connection.
+#include <time.h>
+#include "inspircd_config.h"
+#include "base.h"
+#include "socketengine.h"
+
+/** connection is the base class of User, and holds basic user properties.
+ * This can be extended for holding other user-like objects in the future.
  */
-class connection : public Extensible
+class CoreExport connection : public EventHandler
 {
  public:
-       /** File descriptor of the connection
+       /** Hostname of connection.
+        * This should be valid as per RFC1035.
         */
-       int fd;
-       
-       /** Hostname of connection. Not used if this is a serverrec
-        */
-       char host[64];
+       char host[65];
 
        /** Stats counter for bytes inbound
         */
@@ -61,17 +46,13 @@ class connection : public Extensible
         */
        int cmds_out;
 
-       /** True if server/user has authenticated, false if otherwise
+       /** True if user has authenticated, false if otherwise
         */
        bool haspassed;
 
-       /** Port number
-        * For a userrec, this is the port they connected to the network on.
-        * For a serverrec this is the current listening port of the serverrec object.
-        */
-       int port;
-       
-       /** Used by userrec to indicate the registration status of the connection
+       /** Used by User to indicate the registration status of the connection
+        * It is a bitfield of the REG_NICK, REG_USER and REG_ALL bits to indicate
+        * the connection state.
         */
        char registered;
        
@@ -79,27 +60,20 @@ class connection : public Extensible
         */
        time_t lastping;
        
-       /** Time the connection was created, set in the constructor
+       /** Time the connection was created, set in the constructor. This
+        * may be different from the time the user's classbase object was
+        * created.
         */
        time_t signon;
        
-       /** Time that the connection last sent data, used to calculate idle time
+       /** Time that the connection last sent a message, used to calculate idle time
         */
        time_t idle_lastmsg;
        
-       /** Used by PING checks with clients
+       /** Used by PING checking code
         */
        time_t nping;
-       
-       /** Default constructor
-        */
-       connection()
-       {
-               this->fd = -1;
-       }
 };
 
 
 #endif
-
-