1 /* +------------------------------------+
\r * | Inspire Internet Relay Chat Daemon |
\r * +------------------------------------+
\r *
\r * InspIRCd: (C) 2002-2007 InspIRCd Development Team
\r * See: http://www.inspircd.org/wiki/index.php/Credits
\r *
\r * This program is free but copyrighted software; see
\r * the file COPYING for details.
\r *
\r * ---------------------------------------------------
\r */
\r\r#ifndef __CONNECTION_H__
\r#define __CONNECTION_H__
\r\r#include <time.h>
\r#include "inspircd_config.h"
\r#include "base.h"
\r#include "socketengine.h"
\r\r/** connection is the base class of userrec, and holds basic user properties.
\r * This can be extended for holding other user-like objects in the future.
\r */
\rclass CoreExport connection : public EventHandler
\r{
\r public:
\r /** Hostname of connection.
\r * This should be valid as per RFC1035.
\r */
\r char host[65];
\r\r /** Stats counter for bytes inbound
\r */
\r int bytes_in;
\r\r /** Stats counter for bytes outbound
\r */
\r int bytes_out;
\r\r /** Stats counter for commands inbound
\r */
\r int cmds_in;
\r\r /** Stats counter for commands outbound
\r */
\r int cmds_out;
\r\r /** True if user has authenticated, false if otherwise
\r */
\r bool haspassed;
\r\r /** Used by userrec to indicate the registration status of the connection
\r * It is a bitfield of the REG_NICK, REG_USER and REG_ALL bits to indicate
\r * the connection state.
\r */
\r char registered;
\r \r /** Time the connection was last pinged
\r */
\r time_t lastping;
\r \r /** Time the connection was created, set in the constructor. This
\r * may be different from the time the user's classbase object was
\r * created.
\r */
\r time_t signon;
\r \r /** Time that the connection last sent a message, used to calculate idle time
\r */
\r time_t idle_lastmsg;
\r \r /** Used by PING checking code
\r */
\r time_t nping;
\r};
\r\r\r#endif
\r