00001 /* 00002 00003 $Log$ 00003 Revision 1.1 2003/01/23 19:45:58 brain 00003 Initial revision 00003 00003 Revision 1.6 2003/01/22 20:59:12 brain 00003 Added FileReader class documentation 00003 00004 Revision 1.9 2003/01/22 00:44:26 brain 00005 Added documentation comments 00006 00007 Revision 1.8 2003/01/21 21:11:17 brain 00008 Added documentation 00009 00010 Revision 1.7 2003/01/17 13:21:38 brain 00011 Added CONNECT ALLOW and CONNECT DENY config tags 00012 Added PASS command 00013 00014 Revision 1.6 2003/01/17 10:37:55 brain 00015 Added /INVITE command and relevent structures 00016 00017 Revision 1.5 2003/01/16 20:11:56 brain 00018 fixed some ugly pointer bugs (thanks dblack and a|KK|y!) 00019 00020 Revision 1.4 2003/01/15 22:47:44 brain 00021 Changed user and channel structs to classes (finally) 00022 00023 Revision 1.3 2003/01/14 21:14:30 brain 00024 added /ISON command (for mIRC etc basic notify) 00025 00026 00027 */ 00028 00029 #include "inspircd_config.h" 00030 #include "channels.h" 00031 00032 #include <string> 00033 00034 #ifndef __USERS_H__ 00035 #define __USERS_H__ 00036 00037 #define STATUS_OP 4 00038 #define STATUS_HOP 2 00039 #define STATUS_VOICE 1 00040 #define STATUS_NORMAL 0 00041 00042 #define CC_ALLOW 0 00043 #define CC_DENY 1 00044 00047 class Invited 00048 { 00049 public: 00050 char channel[CHANMAX]; 00051 }; 00052 00053 00056 class ConnectClass 00057 { 00058 public: 00059 int type; 00060 char host[MAXBUF]; 00061 char pass[MAXBUF]; 00062 }; 00063 00066 typedef vector<Invited> InvitedList; 00067 00068 00069 00072 typedef vector<ConnectClass> ClassVector; 00073 00080 class userrec 00081 { 00082 private: 00083 00086 InvitedList invites; 00087 public: 00088 00093 char nick[NICKMAX]; 00094 00097 unsigned long ip; 00098 00101 char ident[64]; 00102 00105 char host[256]; 00106 00110 char dhost[256]; 00111 00114 char fullname[128]; 00115 00120 int fd; 00121 00126 char modes[32]; 00127 00131 char inbuf[MAXBUF]; 00132 00138 time_t lastping; 00139 00142 time_t signon; 00143 00147 time_t idle_lastmsg; 00148 00153 time_t nping; 00154 00159 int registered; 00160 00165 ucrec chans[MAXCHANS]; 00166 00169 char server[256]; 00170 00174 char awaymsg[512]; 00175 00178 int port; 00179 00183 long bytes_in; 00184 00188 long bytes_out; 00189 00193 long cmds_in; 00194 00198 long cmds_out; 00199 00203 char result[256]; 00204 00209 bool haspassed; 00210 00211 userrec(); 00212 00213 virtual ~userrec() { } 00214 00219 virtual char* GetFullHost(); 00220 00226 virtual char* GetFullRealHost(); 00227 00230 virtual bool IsInvited(char* channel); 00231 00234 virtual void InviteTo(char* channel); 00235 00240 virtual void RemoveInvite(char* channel); 00241 00242 }; 00243 00244 00245 #endif