00001 /* 00002 00003 $Log$ 00003 Revision 1.3 2003/01/26 23:52:48 brain 00003 Modified documentation for base classes 00003 00004 Revision 1.1.1.1 2003/01/23 19:45:58 brain 00005 InspIRCd second source tree 00006 00007 Revision 1.9 2003/01/22 00:44:26 brain 00008 Added documentation comments 00009 00010 Revision 1.8 2003/01/21 21:11:17 brain 00011 Added documentation 00012 00013 Revision 1.7 2003/01/17 13:21:38 brain 00014 Added CONNECT ALLOW and CONNECT DENY config tags 00015 Added PASS command 00016 00017 Revision 1.6 2003/01/17 10:37:55 brain 00018 Added /INVITE command and relevent structures 00019 00020 Revision 1.5 2003/01/16 20:11:56 brain 00021 fixed some ugly pointer bugs (thanks dblack and a|KK|y!) 00022 00023 Revision 1.4 2003/01/15 22:47:44 brain 00024 Changed user and channel structs to classes (finally) 00025 00026 Revision 1.3 2003/01/14 21:14:30 brain 00027 added /ISON command (for mIRC etc basic notify) 00028 00029 00030 */ 00031 00032 #include "inspircd_config.h" 00033 #include "channels.h" 00034 #include "connection.h" 00035 00036 #include <string> 00037 00038 #ifndef __USERS_H__ 00039 #define __USERS_H__ 00040 00041 #define STATUS_OP 4 00042 #define STATUS_HOP 2 00043 #define STATUS_VOICE 1 00044 #define STATUS_NORMAL 0 00045 00046 #define CC_ALLOW 0 00047 #define CC_DENY 1 00048 00051 class Invited 00052 { 00053 public: 00054 char channel[CHANMAX]; 00055 }; 00056 00057 00060 class ConnectClass 00061 { 00062 public: 00063 int type; 00064 char host[MAXBUF]; 00065 char pass[MAXBUF]; 00066 }; 00067 00070 typedef vector<Invited> InvitedList; 00071 00072 00073 00076 typedef vector<ConnectClass> ClassVector; 00077 00084 class userrec : public connection 00085 { 00086 private: 00087 00090 InvitedList invites; 00091 public: 00092 00097 char nick[NICKMAX]; 00098 00101 char ident[64]; 00102 00106 char dhost[256]; 00107 00110 char fullname[128]; 00111 00116 char modes[32]; 00117 00118 ucrec chans[MAXCHANS]; 00119 00122 char server[256]; 00123 00127 char awaymsg[512]; 00128 00132 char result[256]; 00133 00134 userrec(); 00135 00136 virtual ~userrec() { } 00137 00142 virtual char* GetFullHost(); 00143 00149 virtual char* GetFullRealHost(); 00150 00153 virtual bool IsInvited(char* channel); 00154 00157 virtual void InviteTo(char* channel); 00158 00163 virtual void RemoveInvite(char* channel); 00164 00165 }; 00166 00167 00168 #endif