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: 00039 int type; 00042 int registration_timeout; 00045 int flood; 00048 char host[MAXBUF]; 00051 char pass[MAXBUF]; 00052 00053 ConnectClass() 00054 { 00055 registration_timeout = 0; 00056 flood = 0; 00057 strcpy(host,""); 00058 strcpy(pass,""); 00059 } 00060 }; 00061 00064 typedef std::vector<Invited> InvitedList; 00065 00066 00067 00070 typedef std::vector<ConnectClass> ClassVector; 00071 00078 class userrec : public connection 00079 { 00080 private: 00081 00084 InvitedList invites; 00085 public: 00086 00091 char nick[NICKMAX]; 00092 00095 char ident[64]; 00096 00100 char dhost[256]; 00101 00104 char fullname[128]; 00105 00110 char modes[MAXBUF]; 00111 00112 ucrec chans[MAXCHANS]; 00113 00116 char server[256]; 00117 00121 char awaymsg[512]; 00122 00126 char result[256]; 00127 00132 int flood; 00133 00138 unsigned long timeout; 00139 00140 userrec(); 00141 00142 virtual ~userrec() { } 00143 00148 virtual char* GetFullHost(); 00149 00155 virtual char* GetFullRealHost(); 00156 00159 virtual bool IsInvited(char* channel); 00160 00163 virtual void InviteTo(char* channel); 00164 00169 virtual void RemoveInvite(char* channel); 00170 00171 }; 00172 00173 00174 #endif