InspIRCd  3.0
Public Member Functions | List of all members
SimpleUserModeHandler Class Reference

#include <mode.h>

Inheritance diagram for SimpleUserModeHandler:
ModeHandler ServiceProvider classbase

Public Member Functions

 SimpleUserModeHandler (Module *Creator, const std::string &Name, char modeletter)
 
virtual ModeAction OnModeChange (User *source, User *dest, Channel *channel, std::string &parameter, bool adding)
 
- Public Member Functions inherited from ModeHandler
 ModeHandler (Module *me, const std::string &name, char modeletter, ParamSpec params, ModeType type, Class mclass=MC_OTHER)
 
virtual CullResult cull () CXX11_OVERRIDE
 
void RegisterService () CXX11_OVERRIDE
 
bool IsListMode () const
 
PrefixModeIsPrefixMode ()
 
const PrefixModeIsPrefixMode () const
 
ListModeBaseIsListModeBase ()
 
const ListModeBaseIsListModeBase () const
 
ParamModeBaseIsParameterMode ()
 
const ParamModeBaseIsParameterMode () const
 
ModeType GetModeType () const
 
bool NeedsOper () const
 
bool NeedsParam (bool adding) const
 
char GetModeChar () const
 
Id GetId () const
 
virtual std::string GetUserParameter (const User *user) const
 
virtual ModResult AccessCheck (User *source, Channel *channel, std::string &parameter, bool adding)
 
virtual void DisplayList (User *user, Channel *channel)
 
virtual void OnParameterMissing (User *user, User *dest, Channel *channel)
 
virtual void DisplayEmptyList (User *user, Channel *channel)
 
virtual bool ResolveModeConflict (std::string &their_param, const std::string &our_param, Channel *channel)
 
void RemoveMode (User *user)
 
virtual void RemoveMode (Channel *channel, Modes::ChangeList &changelist)
 
unsigned int GetLevelRequired () const
 
- Public Member Functions inherited from ServiceProvider
 ServiceProvider (Module *Creator, const std::string &Name, ServiceType Type)
 
void DisableAutoRegister ()
 

Additional Inherited Members

- Public Types inherited from ModeHandler
enum  Class { MC_PREFIX, MC_LIST, MC_PARAM, MC_OTHER }
 
typedef size_t Id
 
- Public Attributes inherited from ServiceProvider
ModuleRef creator
 
const std::string name
 
const ServiceType service
 
- Protected Attributes inherited from ModeHandler
ParamSpec parameters_taken
 
char mode
 
bool oper
 
bool list
 
ModeType m_type
 
const Class type_id
 
int levelrequired
 

Detailed Description

A prebuilt mode handler which handles a simple user mode, e.g. no parameters, usable by any user, with no extra behaviour to the mode beyond the basic setting and unsetting of the mode, not allowing the mode to be set if it is already set and not allowing it to be unset if it is already unset. An example of a simple user mode is user mode +w.

Member Function Documentation

◆ OnModeChange()

ModeAction SimpleUserModeHandler::OnModeChange ( User source,
User dest,
Channel channel,
std::string &  parameter,
bool  adding 
)
virtual

Called when a mode change for your mode occurs.

Parameters
sourceContains the user setting the mode.
destFor usermodes, contains the destination user the mode is being set on. For channelmodes, this is an undefined value.
channelFor channel modes, contains the destination channel the modes are being set on. For usermodes, this is an undefined value.
parameterThe parameter for your mode, if you indicated that your mode requires a parameter when being set or unset. Note that if you alter this value, the new value becomes the one displayed and send out to the network, also, if you set this to an empty string but you specified your mode REQUIRES a parameter, this is equivalent to returning MODEACTION_DENY and will prevent the mode from being displayed.
addingThis value is true when the mode is being set, or false when it is being unset.
Returns
MODEACTION_ALLOW to allow the mode, or MODEACTION_DENY to prevent the mode, also see the description of 'parameter'.

Reimplemented from ModeHandler.


The documentation for this class was generated from the following files: