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

users.h File Reference

#include <string>
#include "inspircd_config.h"
#include "socket.h"
#include "channels.h"
#include "inspstring.h"
#include "connection.h"
#include "hashcomp.h"
#include "dns.h"

Include dependency graph for users.h:

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

Go to the source code of this file.

Classes

class  UserResolver
 Derived from Resolver, and performs user forward/reverse lookups. More...
class  ConnectClass
 Holds information relevent to <connect allow> and <connect deny> tags in the config file. More...
class  VisData
 Visibility data for a user. More...
class  userrec
 Holds all information about a user This class stores all information about a user connected to the irc server. More...

Typedefs

typedef std::vector< irc::stringInvitedList
 Holds a complete list of all channels to which a user has been invited and has not yet joined.
typedef std::vector< ConnectClassClassVector
 Holds a complete list of all allow and deny tags from the configuration file (connection classes).
typedef std::map< chanrec *,
char > 
UserChanList
 Typedef for the list of user-channel records for a user.
typedef UserChanList::iterator UCListIter
 Shorthand for an iterator into a UserChanList.

Enumerations

enum  ChanStatus { STATUS_OP = 4, STATUS_HOP = 2, STATUS_VOICE = 1, STATUS_NORMAL = 0 }
 Channel status for a user. More...
enum  ClassTypes { CC_ALLOW = 0, CC_DENY = 1 }
 connect class types More...
enum  UserModes {
  UM_SERVERNOTICE = 's' - 65, UM_WALLOPS = 'w' - 65, UM_INVISIBLE = 'i' - 65, UM_OPERATOR = 'o' - 65,
  UM_SNOMASK = 'n' - 65
}
 RFC1459 channel modes. More...
enum  RegistrationState {
  REG_NONE = 0, REG_USER = 1, REG_NICK = 2, REG_NICKUSER = 3,
  REG_ALL = 7
}
 Registration state of a user, e.g. More...


Typedef Documentation

typedef std::vector<ConnectClass> ClassVector
 

Holds a complete list of all allow and deny tags from the configuration file (connection classes).

Definition at line 287 of file users.h.

typedef std::vector<irc::string> InvitedList
 

Holds a complete list of all channels to which a user has been invited and has not yet joined.

Definition at line 283 of file users.h.

typedef UserChanList::iterator UCListIter
 

Shorthand for an iterator into a UserChanList.

Definition at line 295 of file users.h.

typedef std::map<chanrec*, char> UserChanList
 

Typedef for the list of user-channel records for a user.

Definition at line 291 of file users.h.


Enumeration Type Documentation

enum ChanStatus
 

Channel status for a user.

Enumerator:
STATUS_OP  Op.
STATUS_HOP  Halfop.
STATUS_VOICE  Voice.
STATUS_NORMAL  None.

Definition at line 28 of file users.h.

00028                 {
00030         STATUS_OP     = 4,
00032         STATUS_HOP    = 2,
00034         STATUS_VOICE  = 1,
00036         STATUS_NORMAL = 0
00037 };

enum ClassTypes
 

connect class types

Enumerator:
CC_ALLOW  connect:allow
CC_DENY  connect:deny

Definition at line 41 of file users.h.

00041                 {
00043         CC_ALLOW = 0,
00045         CC_DENY  = 1
00046 };

enum RegistrationState
 

Registration state of a user, e.g.

have they sent USER, NICK, PASS yet?

Enumerator:
REG_NONE 
REG_USER 
REG_NICK 
REG_NICKUSER 
REG_ALL 

Definition at line 66 of file users.h.

00066                        {
00067 
00068 #ifndef WIN32   // Burlex: This is already defined in win32, luckily it is still 0.
00069         REG_NONE = 0,           /* Has sent nothing */
00070 #endif
00071 
00072         REG_USER = 1,           /* Has sent USER */
00073         REG_NICK = 2,           /* Has sent NICK */
00074         REG_NICKUSER = 3,       /* Bitwise combination of REG_NICK and REG_USER */
00075         REG_ALL = 7             /* REG_NICKUSER plus next bit along */
00076 };

enum UserModes
 

RFC1459 channel modes.

Enumerator:
UM_SERVERNOTICE  +s: Server notices
UM_WALLOPS  +w: WALLOPS
UM_INVISIBLE  +i: Invisible
UM_OPERATOR  +o: Operator
UM_SNOMASK  +n: Server notice mask

Definition at line 50 of file users.h.

00050                {
00052         UM_SERVERNOTICE = 's' - 65,
00054         UM_WALLOPS = 'w' - 65,
00056         UM_INVISIBLE = 'i' - 65,
00058         UM_OPERATOR = 'o' - 65,
00060         UM_SNOMASK = 'n' - 65
00061 };