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

◆ BuildModeStrings()

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().

◆ GetInfo()

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().

◆ StackerDel()

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

Variable Documentation

◆ ChannelModes

std::vector<ChannelMode *> ChannelModes
static

◆ ChannelModesByName

std::map<Anope::string, ChannelMode *> ChannelModesByName
static

◆ ChannelModesByStatus

std::vector<ChannelModeStatus *> ChannelModesByStatus
static

◆ ChannelModesIdx

std::vector<ChannelMode *> ChannelModesIdx
static

◆ ChannelStackerObjects

std::map<Channel *, StackerInfo *> ChannelStackerObjects
static

◆ modePipe

ModePipe * modePipe
static

◆ statuscmp

struct StatusSort statuscmp
static

◆ UserModes

std::vector<UserMode *> UserModes
static

◆ UserModesByName

std::map<Anope::string, UserMode *> UserModesByName
static

◆ UserModesIdx

std::vector<UserMode *> UserModesIdx
static

◆ UserStackerObjects

std::map<User *, StackerInfo *> UserStackerObjects
static