Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

channels.h

Go to the documentation of this file.
00001 /*
00002 
00003    
00004 */
00005 
00006 #include "inspircd_config.h"
00007 #include "base.h"
00008 #include <time.h>
00009 #include <vector>
00010 
00011 #ifndef __CHANNELS_H__
00012 #define __CHANNELS_H__
00013 
00017 class HostItem : public classbase
00018 {
00019  public:
00020         time_t set_time;
00021         char set_by[NICKMAX];
00022         char data[MAXBUF];
00023 
00024         HostItem() { /* stub */ }
00025         virtual ~HostItem() { /* stub */ }
00026 };
00027 
00028 // banlist is inherited from HostList mainly for readability
00029 // reasons only
00030 
00033 class BanItem : public HostItem
00034 {
00035 };
00036 
00037 // same with this...
00038 
00041 class ExemptItem : public HostItem
00042 {
00043 };
00044 
00045 // and this...
00046 
00049 class InviteItem : public HostItem
00050 {
00051 };
00052 
00053 
00056 typedef vector<BanItem>         BanList;
00057 
00060 typedef vector<ExemptItem>      ExemptList;
00061 
00064 typedef vector<InviteItem>      InviteList;
00065 
00070 class chanrec : public classbase
00071 {
00072  public:
00075         char name[CHANMAX]; /* channel name */
00079         char custom_modes[MAXMODES];     /* modes handled by modules */
00083         char topic[MAXBUF];
00086         time_t created;
00090         time_t topicset;
00094         char setby[NICKMAX];
00095 
00099         long limit;
00100         
00104         char key[32];
00105         
00108         short int topiclock;
00109         
00112         short int noexternal;
00113         
00116         short int inviteonly;
00117         
00120         short int moderated;
00121         
00125         short int secret;
00126         
00130         short int c_private;
00131         
00134         BanList bans;
00135 
00138         chanrec()
00139         {
00140                 strcpy(name,"");
00141                 strcpy(custom_modes,"");
00142                 strcpy(topic,"");
00143                 strcpy(setby,"");
00144                 strcpy(key,"");
00145                 created = topicset = limit = 0;
00146                 topiclock = noexternal = inviteonly = moderated = secret = c_private = false;
00147         }
00148 
00149         virtual ~chanrec() { /* stub */ }
00150 };
00151 
00152 /* used to hold a channel and a users modes on that channel, e.g. +v, +h, +o
00153  * needs to come AFTER struct chanrec */
00154 
00155 #define UCMODE_OP      1
00156 #define UCMODE_VOICE   2
00157 #define UCMODE_HOP     4
00158 #define UCMODE_PROTECT 8
00159 #define UCMODE_FOUNDER 16
00160  
00166 class ucrec : public classbase
00167 {
00168  public:
00172         long uc_modes;
00173         
00177         chanrec *channel;
00178 
00179         ucrec() { /* stub */ }
00180         virtual ~ucrec() { /* stub */ }
00181 };
00182 
00183 #endif
00184 

Generated on Sun Feb 9 12:48:15 2003 for InspIRCd by doxygen1.3-rc2