The InspIRCd Project
Home | Developers | Wiki | Forums | Bug Tracker | SVN | Download | Blog | Stats
Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

channels.h File Reference

#include "inspircd_config.h"
#include "base.h"
#include <time.h>
#include <vector>
#include <string>
#include <map>

Include dependency graph for channels.h:

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  HostItem
 Holds an entry for a ban list, exemption list, or invite list. More...
class  BanItem
 A subclass of HostItem designed to hold channel bans (+b). More...
class  chanrec
 Holds all relevent information for a channel. More...

Typedefs

typedef std::vector< BanItemBanList
 Holds a complete ban list.
typedef std::map< userrec *,
std::string
CUList
 A list of users on a channel.
typedef CUList::iterator CUListIter
 Shorthand for CUList::iterator.
typedef CUList::const_iterator CUListConstIter
 Shorthand for CUList::const_iterator.
typedef std::map< char, char * > CustomModeList
 A list of custom modes parameters on a channel.
typedef std::pair< char, unsigned
int > 
prefixtype
 A stored prefix and its rank.
typedef std::vector< prefixtypepfxcontainer
 A list of prefixes set on a user in a channel.
typedef std::map< userrec *,
std::vector< prefixtype > > 
prefixlist
 A list of users with zero or more prefixes set on them.

Enumerations

enum  ChannelModes {
  CM_TOPICLOCK = 't'-65, CM_NOEXTERNAL = 'n'-65, CM_INVITEONLY = 'i'-65, CM_MODERATED = 'm'-65,
  CM_SECRET = 's'-65, CM_PRIVATE = 'p'-65, CM_KEY = 'k'-65, CM_LIMIT = 'l'-65
}
 RFC1459 channel modes. More...
enum  UserChannelModes { UCMODE_OP = 1, UCMODE_VOICE = 2, UCMODE_HOP = 4 }
 used to hold a channel and a users modes on that channel, e.g. More...


Typedef Documentation

typedef std::vector<BanItem> BanList
 

Holds a complete ban list.

Definition at line 69 of file channels.h.

typedef std::map<userrec*,std::string> CUList
 

A list of users on a channel.

Definition at line 73 of file channels.h.

typedef CUList::const_iterator CUListConstIter
 

Shorthand for CUList::const_iterator.

Definition at line 81 of file channels.h.

typedef CUList::iterator CUListIter
 

Shorthand for CUList::iterator.

Definition at line 77 of file channels.h.

typedef std::map<char,char*> CustomModeList
 

A list of custom modes parameters on a channel.

Definition at line 85 of file channels.h.

typedef std::vector<prefixtype> pfxcontainer
 

A list of prefixes set on a user in a channel.

Definition at line 105 of file channels.h.

typedef std::map<userrec*, std::vector<prefixtype> > prefixlist
 

A list of users with zero or more prefixes set on them.

Definition at line 109 of file channels.h.

typedef std::pair<char, unsigned int> prefixtype
 

A stored prefix and its rank.

Definition at line 97 of file channels.h.


Enumeration Type Documentation

enum ChannelModes
 

RFC1459 channel modes.

Enumerator:
CM_TOPICLOCK 
CM_NOEXTERNAL 
CM_INVITEONLY 
CM_MODERATED 
CM_SECRET 
CM_PRIVATE 
CM_KEY 
CM_LIMIT 

Definition at line 26 of file channels.h.

00026                   {
00027         CM_TOPICLOCK = 't'-65,  /* +t: Only operators can change topic */
00028         CM_NOEXTERNAL = 'n'-65, /* +n: Only users in the channel can message it */
00029         CM_INVITEONLY = 'i'-65, /* +i: Invite only */
00030         CM_MODERATED = 'm'-65,  /* +m: Only voices and above can talk */
00031         CM_SECRET = 's'-65,     /* +s: Secret channel */
00032         CM_PRIVATE = 'p'-65,    /* +p: Private channel */
00033         CM_KEY = 'k'-65,        /* +k: Keyed channel */
00034         CM_LIMIT = 'l'-65       /* +l: Maximum user limit */
00035 };

enum UserChannelModes
 

used to hold a channel and a users modes on that channel, e.g.

+v, +h, +o

Enumerator:
UCMODE_OP 
UCMODE_VOICE 
UCMODE_HOP 

Definition at line 90 of file channels.h.

00090                       {
00091         UCMODE_OP       = 1,    /* Opped user */
00092         UCMODE_VOICE    = 2,    /* Voiced user */
00093         UCMODE_HOP      = 4     /* Halfopped user */
00094 };