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

chanrec Class Reference

Holds all relevent information for a channel. More...

#include <channels.h>

Inheritance diagram for chanrec:

Inheritance graph
[legend]
Collaboration diagram for chanrec:

Collaboration graph
[legend]
List of all members.

Public Member Functions

void SetCustomMode (char mode, bool mode_on)
 Sets or unsets a custom mode in the channels info.

void SetCustomModeParam (char mode, char *parameter, bool mode_on)
 Sets or unsets the parameters for a custom mode in a channels info.

 chanrec ()
 Creates a channel record and initialises it with default values.

virtual ~chanrec ()

Public Attributes

char name [CHANMAX]
 The channels name.

char custom_modes [MAXMODES]
 Custom modes for the channel.

char topic [MAXBUF]
 Channel topic.

time_t created
 Creation time.

time_t topicset
 Time topic was set.

char setby [NICKMAX]
 The last user to set the topic.

long limit
 Contains the channel user limit.

char key [32]
 Contains the channel key.

short int topiclock
 Nonzero if the mode +t is set.

short int noexternal
 Nonzero if the mode +n is set.

short int inviteonly
 Nonzero if the mode +i is set.

short int moderated
 Nonzero if the mode +m is set.

short int secret
 Nonzero if the mode +s is set.

short int c_private
 Nonzero if the mode +p is set.

BanList bans
 The list of all bans set on the channel.


Detailed Description

Holds all relevent information for a channel.

This class represents a channel, and contains its name, modes, time created, topic, topic set time, etc, and an instance of the BanList type.

Definition at line 70 of file channels.h.


Constructor & Destructor Documentation

chanrec::chanrec  
 

Creates a channel record and initialises it with default values.

Definition at line 6 of file channels.cpp.

References c_private, created, inviteonly, limit, moderated, noexternal, secret, topiclock, and topicset.

00007 {
00008         strcpy(name,"");
00009         strcpy(custom_modes,"");
00010         strcpy(topic,"");
00011         strcpy(setby,"");
00012         strcpy(key,"");
00013         created = topicset = limit = 0;
00014         topiclock = noexternal = inviteonly = moderated = secret = c_private = false;
00015 }

virtual chanrec::~chanrec   [inline, virtual]
 

Definition at line 148 of file channels.h.

00148 { /* stub */ }


Member Function Documentation

void chanrec::SetCustomMode char    mode,
bool    mode_on
 

Sets or unsets a custom mode in the channels info.

Definition at line 17 of file channels.cpp.

References custom_modes.

00018 {
00019         if (mode_on) {
00020                 char m[3];
00021                 m[0] = mode;
00022                 m[1] = '\0';
00023                 if (!strchr(this->custom_modes,mode))
00024                 {
00025                         strncat(custom_modes,m,MAXMODES);
00026                 }
00027                 log(DEBUG,"Custom mode %c set",mode);
00028         }
00029         else {
00030                 char temp[MAXMODES];
00031                 int count = 0;
00032                 for (int q = 0; q < strlen(custom_modes); q++) {
00033                         if (custom_modes[q] != mode) {
00034                                 temp[count++] = mode;
00035                         }
00036                 }
00037                 temp[count] = '\0';
00038                 strncpy(custom_modes,temp,MAXMODES);
00039                 log(DEBUG,"Custom mode %c removed",mode);
00040         }
00041 }

void chanrec::SetCustomModeParam char    mode,
char *    parameter,
bool    mode_on
 

Sets or unsets the parameters for a custom mode in a channels info.

Definition at line 43 of file channels.cpp.

00044 {
00045 }


Member Data Documentation

BanList chanrec::bans
 

The list of all bans set on the channel.

Definition at line 134 of file channels.h.

short int chanrec::c_private
 

Nonzero if the mode +p is set.

This value cannot be set at the same time as chanrec::secret

Definition at line 130 of file channels.h.

Referenced by chanrec().

time_t chanrec::created
 

Creation time.

Definition at line 86 of file channels.h.

Referenced by chanrec().

char chanrec::custom_modes[MAXMODES]
 

Custom modes for the channel.

Plugins may use this field in any way they see fit.

Definition at line 79 of file channels.h.

Referenced by SetCustomMode().

short int chanrec::inviteonly
 

Nonzero if the mode +i is set.

Definition at line 116 of file channels.h.

Referenced by chanrec().

char chanrec::key[32]
 

Contains the channel key.

If this value is an empty string, there is no channel key in place.

Definition at line 104 of file channels.h.

long chanrec::limit
 

Contains the channel user limit.

If this value is zero, there is no limit in place.

Definition at line 99 of file channels.h.

Referenced by chanrec().

short int chanrec::moderated
 

Nonzero if the mode +m is set.

Definition at line 120 of file channels.h.

Referenced by chanrec().

char chanrec::name[CHANMAX]
 

The channels name.

Definition at line 75 of file channels.h.

short int chanrec::noexternal
 

Nonzero if the mode +n is set.

Definition at line 112 of file channels.h.

Referenced by chanrec().

short int chanrec::secret
 

Nonzero if the mode +s is set.

This value cannot be set at the same time as chanrec::c_private

Definition at line 125 of file channels.h.

Referenced by chanrec().

char chanrec::setby[NICKMAX]
 

The last user to set the topic.

If this member is an empty string, no topic was ever set.

Definition at line 94 of file channels.h.

char chanrec::topic[MAXBUF]
 

Channel topic.

If this is an empty string, no channel topic is set.

Definition at line 83 of file channels.h.

short int chanrec::topiclock
 

Nonzero if the mode +t is set.

Definition at line 108 of file channels.h.

Referenced by chanrec().

time_t chanrec::topicset
 

Time topic was set.

If no topic was ever set, this will be equal to chanrec::created

Definition at line 90 of file channels.h.

Referenced by chanrec().


The documentation for this class was generated from the following files:
Generated on Sat Apr 3 16:36:10 2004 for InspIRCd by doxygen1.3-rc3