00001 /* 00002 00003 $Log$ 00003 Revision 1.4 2003/01/27 00:22:39 brain 00003 Modified documentation 00003 00004 Revision 1.2 2003/01/26 23:52:59 brain 00005 Modified documentation for base classes 00006 Added base classes 00007 00008 Revision 1.1.1.1 2003/01/23 19:45:58 brain 00009 InspIRCd second source tree 00010 00011 Revision 1.9 2003/01/22 00:44:26 brain 00012 Added documentation comments 00013 00014 Revision 1.8 2003/01/21 21:11:17 brain 00015 Added documentation 00016 00017 Revision 1.7 2003/01/17 13:21:38 brain 00018 Added CONNECT ALLOW and CONNECT DENY config tags 00019 Added PASS command 00020 00021 Revision 1.6 2003/01/17 10:37:55 brain 00022 Added /INVITE command and relevent structures 00023 00024 Revision 1.5 2003/01/16 20:11:56 brain 00025 fixed some ugly pointer bugs (thanks dblack and a|KK|y!) 00026 00027 Revision 1.4 2003/01/15 22:47:44 brain 00028 Changed user and channel structs to classes (finally) 00029 00030 Revision 1.3 2003/01/14 21:14:30 brain 00031 added /ISON command (for mIRC etc basic notify) 00032 00033 00034 */ 00035 00036 #include "inspircd_config.h" 00037 #include "channels.h" 00038 #include "connection.h" 00039 00040 #include <string> 00041 00042 #ifndef __USERS_H__ 00043 #define __USERS_H__ 00044 00045 #define STATUS_OP 4 00046 #define STATUS_HOP 2 00047 #define STATUS_VOICE 1 00048 #define STATUS_NORMAL 0 00049 00050 #define CC_ALLOW 0 00051 #define CC_DENY 1 00052 00055 class Invited : public classbase 00056 { 00057 public: 00058 char channel[CHANMAX]; 00059 }; 00060 00061 00064 class ConnectClass : public classbase 00065 { 00066 public: 00067 int type; 00068 char host[MAXBUF]; 00069 char pass[MAXBUF]; 00070 }; 00071 00074 typedef vector<Invited> InvitedList; 00075 00076 00077 00080 typedef vector<ConnectClass> ClassVector; 00081 00088 class userrec : public connection 00089 { 00090 private: 00091 00094 InvitedList invites; 00095 public: 00096 00101 char nick[NICKMAX]; 00102 00105 char ident[64]; 00106 00110 char dhost[256]; 00111 00114 char fullname[128]; 00115 00120 char modes[32]; 00121 00122 ucrec chans[MAXCHANS]; 00123 00126 char server[256]; 00127 00131 char awaymsg[512]; 00132 00136 char result[256]; 00137 00138 userrec(); 00139 00140 virtual ~userrec() { } 00141 00146 virtual char* GetFullHost(); 00147 00153 virtual char* GetFullRealHost(); 00154 00157 virtual bool IsInvited(char* channel); 00158 00161 virtual void InviteTo(char* channel); 00162 00167 virtual void RemoveInvite(char* channel); 00168 00169 }; 00170 00171 00172 #endif