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 char host[MAXBUF]; 00039 char pass[MAXBUF]; 00040 }; 00041 00044 typedef std::vector<Invited> InvitedList; 00045 00046 00047 00050 typedef std::vector<ConnectClass> ClassVector; 00051 00058 class userrec : public connection 00059 { 00060 private: 00061 00064 InvitedList invites; 00065 public: 00066 00071 char nick[NICKMAX]; 00072 00075 char ident[64]; 00076 00080 char dhost[256]; 00081 00084 char fullname[128]; 00085 00090 char modes[32]; 00091 00092 ucrec chans[MAXCHANS]; 00093 00096 char server[256]; 00097 00101 char awaymsg[512]; 00102 00106 char result[256]; 00107 00108 userrec(); 00109 00110 virtual ~userrec() { } 00111 00116 virtual char* GetFullHost(); 00117 00123 virtual char* GetFullRealHost(); 00124 00127 virtual bool IsInvited(char* channel); 00128 00131 virtual void InviteTo(char* channel); 00132 00137 virtual void RemoveInvite(char* channel); 00138 00139 }; 00140 00141 00142 #endif