Anope IRC Services  Version 2.0
Data Structures | Functions | Variables
modes.cpp File Reference
#include "services.h"
#include "modules.h"
#include "config.h"
#include "sockets.h"
#include "protocol.h"
#include "channels.h"
#include "uplink.h"
Include dependency graph for modes.cpp:

Go to the source code of this file.

Data Structures

struct  StackerInfo
 
class  ModePipe
 
struct  StatusSort
 

Functions

template<typename List , typename Object >
static StackerInfoGetInfo (List &l, Object *o)
 
static std::list< Anope::stringBuildModeStrings (StackerInfo *info)
 
template<typename T >
static void StackerDel (std::map< T *, StackerInfo * > &map, T *obj)
 

Variables

static std::map< User
*, StackerInfo * > 
UserStackerObjects
 
static std::map< Channel
*, StackerInfo * > 
ChannelStackerObjects
 
static std::vector< ChannelMode * > ChannelModes
 
static std::vector< UserMode * > UserModes
 
static std::vector< ChannelMode * > ChannelModesIdx
 
static std::vector< UserMode * > UserModesIdx
 
static std::map< Anope::string,
ChannelMode * > 
ChannelModesByName
 
static std::map< Anope::string,
UserMode * > 
UserModesByName
 
static std::vector
< ChannelModeStatus * > 
ChannelModesByStatus
 
ModePipemodePipe
 
static struct StatusSort statuscmp
 

Function Documentation

static std::list<Anope::string> BuildModeStrings ( StackerInfo info)
static

Build a list of mode strings to send to the IRCd from the mode stacker

Parameters
infoThe stacker info for a channel or user
Returns
a list of strings

Definition at line 339 of file modes.cpp.

References StackerInfo::AddModes, Anope::string::clear(), StackerInfo::DelModes, Anope::string::empty(), Anope::string::erase(), IRCD, Anope::string::length(), IRCDProto::MaxLine, IRCDProto::MaxModes, and Anope::string::push_back().

Referenced by ModeManager::ProcessModes(), and StackerDel().

template<typename List , typename Object >
static StackerInfo* GetInfo ( List &  l,
Object *  o 
)
static

Get the stacker info for an item, if one doesnt exist it is created

Parameters
ItemThe user/channel etc
Returns
The stacker info

Definition at line 324 of file modes.cpp.

Referenced by ModeManager::StackerAdd().

template<typename T >
static void StackerDel ( std::map< T *, StackerInfo * > &  map,
T *  obj 
)
static

Definition at line 667 of file modes.cpp.

References StackerInfo::bi, BuildModeStrings(), IRCD, and IRCDProto::SendMode().

Variable Documentation

std::vector<ChannelMode *> ChannelModes
static
std::map<Anope::string, ChannelMode *> ChannelModesByName
static
std::vector<ChannelModeStatus *> ChannelModesByStatus
static
std::vector<ChannelMode *> ChannelModesIdx
static
std::map<Channel *, StackerInfo *> ChannelStackerObjects
static
ModePipe * modePipe
static

Referenced by ModeManager::StackerAdd().

struct StatusSort statuscmp
static
std::vector<UserMode *> UserModes
static
std::map<Anope::string, UserMode *> UserModesByName
static
std::vector<UserMode *> UserModesIdx
static
std::map<User *, StackerInfo *> UserStackerObjects
static