diff options
Diffstat (limited to 'docs/man/chanrec.3')
-rw-r--r-- | docs/man/chanrec.3 | 314 |
1 files changed, 314 insertions, 0 deletions
diff --git a/docs/man/chanrec.3 b/docs/man/chanrec.3 new file mode 100644 index 000000000..a1975578e --- /dev/null +++ b/docs/man/chanrec.3 @@ -0,0 +1,314 @@ +.TH "chanrec" 3 "30 Apr 2004" "InspIRCd" \" -*- nroff -*- +.ad l +.nh +.SH NAME +chanrec \- Holds all relevent information for a channel. + +.PP +.SH SYNOPSIS +.br +.PP +\fC#include <channels.h>\fP +.PP +Inherits \fBExtensible\fP. +.PP +.SS "Public Member Functions" + +.in +1c +.ti -1c +.RI "void \fBSetCustomMode\fP (char mode, bool mode_on)" +.br +.RI "\fISets or unsets a custom mode in the channels info.\fP" +.ti -1c +.RI "void \fBSetCustomModeParam\fP (char mode, char *parameter, bool mode_on)" +.br +.RI "\fISets or unsets the parameters for a custom mode in a channels info.\fP" +.ti -1c +.RI "bool \fBIsCustomModeSet\fP (char mode)" +.br +.RI "\fIReturns true if a custom mode is set on a channel.\fP" +.ti -1c +.RI "std::string \fBGetModeParameter\fP (char mode)" +.br +.RI "\fIReturns the parameter for a custom mode on a channel.\fP" +.ti -1c +.RI "\fBchanrec\fP ()" +.br +.RI "\fICreates a channel record and initialises it with default values.\fP" +.ti -1c +.RI "virtual \fB~chanrec\fP ()" +.br +.in -1c +.SS "Public Attributes" + +.in +1c +.ti -1c +.RI "char \fBname\fP [CHANMAX]" +.br +.RI "\fIThe channels name.\fP" +.ti -1c +.RI "char \fBcustom_modes\fP [MAXMODES]" +.br +.RI "\fICustom modes for the channel.\fP" +.ti -1c +.RI "char \fBtopic\fP [MAXBUF]" +.br +.RI "\fIChannel topic.\fP" +.ti -1c +.RI "time_t \fBcreated\fP" +.br +.RI "\fICreation time.\fP" +.ti -1c +.RI "time_t \fBtopicset\fP" +.br +.RI "\fITime topic was set.\fP" +.ti -1c +.RI "char \fBsetby\fP [NICKMAX]" +.br +.RI "\fIThe last user to set the topic.\fP" +.ti -1c +.RI "long \fBlimit\fP" +.br +.RI "\fIContains the channel user limit.\fP" +.ti -1c +.RI "char \fBkey\fP [32]" +.br +.RI "\fIContains the channel key.\fP" +.ti -1c +.RI "short int \fBtopiclock\fP" +.br +.RI "\fINonzero if the mode +t is set.\fP" +.ti -1c +.RI "short int \fBnoexternal\fP" +.br +.RI "\fINonzero if the mode +n is set.\fP" +.ti -1c +.RI "short int \fBinviteonly\fP" +.br +.RI "\fINonzero if the mode +i is set.\fP" +.ti -1c +.RI "short int \fBmoderated\fP" +.br +.RI "\fINonzero if the mode +m is set.\fP" +.ti -1c +.RI "short int \fBsecret\fP" +.br +.RI "\fINonzero if the mode +s is set.\fP" +.ti -1c +.RI "short int \fBc_private\fP" +.br +.RI "\fINonzero if the mode +p is set.\fP" +.ti -1c +.RI "\fBBanList\fP \fBbans\fP" +.br +.RI "\fIThe list of all bans set on the channel.\fP" +.in -1c +.SH "Detailed Description" +.PP +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. +.PP +Definition at line 83 of file channels.h. +.SH "Constructor & Destructor Documentation" +.PP +.SS "chanrec::chanrec ()" +.PP +Creates a channel record and initialises it with default values.Definition at line 12 of file channels.cpp. +.PP +References c_private, created, inviteonly, limit, moderated, noexternal, secret, topiclock, and topicset. +.PP +.nf +13 { +14 strcpy(name,''); +15 strcpy(custom_modes,''); +16 strcpy(topic,''); +17 strcpy(setby,''); +18 strcpy(key,''); +19 created = topicset = limit = 0; +20 topiclock = noexternal = inviteonly = moderated = secret = c_private = false; +21 } +.fi +.SS "virtual chanrec::~chanrec ()\fC [inline, virtual]\fP" +.PP +Definition at line 174 of file channels.h. +.PP +.nf +174 { /* stub */ } +.fi +.SH "Member Function Documentation" +.PP +.SS "std::string chanrec::GetModeParameter (char mode)" +.PP +Returns the parameter for a custom mode on a channel.For example if '+L #foo' is set, and you pass this method 'L', it will return '#foo'. If the mode is not set on the channel, or the mode has no parameters associated with it, it will return an empty string.Definition at line 87 of file channels.cpp. +.PP +References custom_mode_params. +.PP +.nf +88 { +89 if (custom_mode_params.size()) +90 { +91 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +92 { +93 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +94 { +95 return std::string(i->parameter); +96 } +97 } +98 } +99 return std::string(''); +100 } +.fi +.SS "bool chanrec::IsCustomModeSet (char mode)" +.PP +Returns true if a custom mode is set on a channel.Definition at line 81 of file channels.cpp. +.PP +.nf +82 { +83 log(DEBUG,'Checking ISCustomModeSet: %c %s',mode,this->custom_modes); +84 return (strchr(this->custom_modes,mode) != 0); +85 } +.fi +.SS "void chanrec::SetCustomMode (char mode, bool mode_on)" +.PP +Sets or unsets a custom mode in the channels info.Definition at line 23 of file channels.cpp. +.PP +References custom_modes, and SetCustomModeParam(). +.PP +.nf +24 { +25 if (mode_on) { +26 char m[3]; +27 m[0] = mode; +28 m[1] = '\0'; +29 if (!strchr(this->custom_modes,mode)) +30 { +31 strncat(custom_modes,m,MAXMODES); +32 } +33 log(DEBUG,'Custom mode %c set',mode); +34 } +35 else { +36 char temp[MAXBUF]; +37 int count = 0; +38 for (int q = 0; q < strlen(custom_modes); q++) { +39 if (custom_modes[q] != mode) { +40 temp[count++] = mode; +41 } +42 } +43 temp[count] = '\0'; +44 strncpy(custom_modes,temp,MAXMODES); +45 log(DEBUG,'Custom mode %c removed',mode); +46 this->SetCustomModeParam(mode,'',false); +47 } +48 } +.fi +.SS "void chanrec::SetCustomModeParam (char mode, char * parameter, bool mode_on)" +.PP +Sets or unsets the parameters for a custom mode in a channels info.Definition at line 50 of file channels.cpp. +.PP +References ModeParameter::channel, custom_mode_params, ModeParameter::mode, and ModeParameter::parameter. +.PP +Referenced by SetCustomMode(). +.PP +.nf +51 { +52 +53 log(DEBUG,'SetCustomModeParam called'); +54 ModeParameter M; +55 M.mode = mode; +56 strcpy(M.channel,this->name); +57 strcpy(M.parameter,parameter); +58 if (mode_on) +59 { +60 log(DEBUG,'Custom mode parameter %c %s added',mode,parameter); +61 custom_mode_params.push_back(M); +62 } +63 else +64 { +65 if (custom_mode_params.size()) +66 { +67 for (vector<ModeParameter>::iterator i = custom_mode_params.begin(); i < custom_mode_params.end(); i++) +68 { +69 if ((i->mode == mode) && (!strcasecmp(this->name,i->channel))) +70 { +71 log(DEBUG,'Custom mode parameter %c %s removed',mode,parameter); +72 custom_mode_params.erase(i); +73 return; +74 } +75 } +76 } +77 log(DEBUG,'*** BUG *** Attempt to remove non-existent mode parameter!'); +78 } +79 } +.fi +.SH "Member Data Documentation" +.PP +.SS "\fBBanList\fP chanrec::bans" +.PP +The list of all bans set on the channel.Definition at line 148 of file channels.h. +.SS "short int chanrec::c_private" +.PP +Nonzero if the mode +p is set.This value cannot be set at the same time as \fBchanrec::secret\fPDefinition at line 144 of file channels.h. +.PP +Referenced by chanrec(). +.SS "time_t chanrec::created" +.PP +Creation time.Definition at line 100 of file channels.h. +.PP +Referenced by chanrec(). +.SS "char chanrec::custom_modes[MAXMODES]" +.PP +Custom modes for the channel.Plugins may use this field in any way they see fit.Definition at line 92 of file channels.h. +.PP +Referenced by SetCustomMode(). +.SS "short int chanrec::inviteonly" +.PP +Nonzero if the mode +i is set.Definition at line 130 of file channels.h. +.PP +Referenced by chanrec(). +.SS "char chanrec::key[32]" +.PP +Contains the channel key.If this value is an empty string, there is no channel key in place.Definition at line 118 of file channels.h. +.SS "long chanrec::limit" +.PP +Contains the channel user limit.If this value is zero, there is no limit in place.Definition at line 113 of file channels.h. +.PP +Referenced by chanrec(). +.SS "short int chanrec::moderated" +.PP +Nonzero if the mode +m is set.Definition at line 134 of file channels.h. +.PP +Referenced by chanrec(). +.SS "char chanrec::name[CHANMAX]" +.PP +The channels name.Definition at line 88 of file channels.h. +.SS "short int chanrec::noexternal" +.PP +Nonzero if the mode +n is set.Definition at line 126 of file channels.h. +.PP +Referenced by chanrec(). +.SS "short int chanrec::secret" +.PP +Nonzero if the mode +s is set.This value cannot be set at the same time as \fBchanrec::c_private\fPDefinition at line 139 of file channels.h. +.PP +Referenced by chanrec(). +.SS "char chanrec::setby[NICKMAX]" +.PP +The last user to set the topic.If this member is an empty string, no topic was ever set.Definition at line 108 of file channels.h. +.SS "char chanrec::topic[MAXBUF]" +.PP +Channel topic.If this is an empty string, no channel topic is set.Definition at line 97 of file channels.h. +.SS "short int chanrec::topiclock" +.PP +Nonzero if the mode +t is set.Definition at line 122 of file channels.h. +.PP +Referenced by chanrec(). +.SS "time_t chanrec::topicset" +.PP +Time topic was set.If no topic was ever set, this will be equal to \fBchanrec::created\fPDefinition at line 104 of file channels.h. +.PP +Referenced by chanrec(). + +.SH "Author" +.PP +Generated automatically by Doxygen for InspIRCd from the source code. |