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 std::vector<BanItem>    BanList;
00057 
00060 typedef std::vector<ExemptItem> ExemptList;
00061 
00064 typedef std::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         void SetCustomMode(char mode,bool mode_on);
00139 
00142         void SetCustomModeParam(char mode,char* parameter,bool mode_on);
00143  
00146         chanrec();
00147 
00148         virtual ~chanrec() { /* stub */ }
00149 };
00150 
00151 /* used to hold a channel and a users modes on that channel, e.g. +v, +h, +o
00152  * needs to come AFTER struct chanrec */
00153 
00154 #define UCMODE_OP      1
00155 #define UCMODE_VOICE   2
00156 #define UCMODE_HOP     4
00157 #define UCMODE_PROTECT 8
00158 #define UCMODE_FOUNDER 16
00159  
00165 class ucrec : public classbase
00166 {
00167  public:
00171         long uc_modes;
00172         
00176         chanrec *channel;
00177 
00178         ucrec() { /* stub */ }
00179         virtual ~ucrec() { /* stub */ }
00180 };
00181 
00182 #endif
00183 

Generated on Fri Apr 2 14:46:04 2004 for InspIRCd by doxygen1.3-rc3