00001 /* 00002 00003 00004 */ 00005 00006 #include "inspircd_config.h" 00007 #include "channels.h" 00008 #include "connection.h" 00009 00010 #include <string> 00011 00012 #ifndef __USERS_H__ 00013 #define __USERS_H__ 00014 00015 #define STATUS_OP 4 00016 #define STATUS_HOP 2 00017 #define STATUS_VOICE 1 00018 #define STATUS_NORMAL 0 00019 00020 #define CC_ALLOW 0 00021 #define CC_DENY 1 00022 00025 class Invited : public classbase 00026 { 00027 public: 00028 char channel[CHANMAX]; 00029 }; 00030 00031 00034 class ConnectClass : public classbase 00035 { 00036 public: 00037 int type; 00038 int registration_timeout; 00039 char host[MAXBUF]; 00040 char pass[MAXBUF]; 00041 00042 ConnectClass() 00043 { 00044 registration_timeout = 0; 00045 strcpy(host,""); 00046 strcpy(pass,""); 00047 } 00048 }; 00049 00052 typedef std::vector<Invited> InvitedList; 00053 00054 00055 00058 typedef std::vector<ConnectClass> ClassVector; 00059 00066 class userrec : public connection 00067 { 00068 private: 00069 00072 InvitedList invites; 00073 public: 00074 00079 char nick[NICKMAX]; 00080 00083 char ident[64]; 00084 00088 char dhost[256]; 00089 00092 char fullname[128]; 00093 00098 char modes[MAXBUF]; 00099 00100 ucrec chans[MAXCHANS]; 00101 00104 char server[256]; 00105 00109 char awaymsg[512]; 00110 00114 char result[256]; 00115 00116 unsigned long timeout; 00117 00118 userrec(); 00119 00120 virtual ~userrec() { } 00121 00126 virtual char* GetFullHost(); 00127 00133 virtual char* GetFullRealHost(); 00134 00137 virtual bool IsInvited(char* channel); 00138 00141 virtual void InviteTo(char* channel); 00142 00147 virtual void RemoveInvite(char* channel); 00148 00149 }; 00150 00151 00152 #endif