InspIRCd  4.0
Public Member Functions | List of all members
ParamModeBase Class Referenceabstract
Inheritance diagram for ParamModeBase:
ModeHandler ServiceProvider Cullable insp::uncopiable ParamMode< T, ExtItemT >

Public Member Functions

 ParamModeBase (Module *Creator, const std::string &Name, char modeletter, ParamSpec ps)
 
ModeAction OnModeChange (User *source, User *dest, Channel *channel, Modes::Change &change) override
 
virtual bool IsParameterSecret ()
 
virtual void OnUnset (User *source, Channel *chan)
 
virtual ModeAction OnSet (User *source, Channel *chan, std::string &param)=0
 
virtual void GetParameter (Channel *chan, std::string &out)=0
 
- Public Member Functions inherited from ModeHandler
 ModeHandler (Module *me, const std::string &name, char modeletter, ParamSpec params, ModeType type, Class mclass=MC_OTHER)
 
Cullable::Result Cull () override
 
void RegisterService () 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, Modes::Change &change)
 
virtual void DisplayList (User *user, Channel *channel)
 
virtual void OnParameterMissing (User *user, User *dest, Channel *channel)
 
virtual void OnParameterInvalid (User *user, Channel *targetchannel, User *targetuser, const std::string &parameter)
 
virtual void DisplayEmptyList (User *user, Channel *channel)
 
virtual bool ResolveModeConflict (const 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 (bool adding) const
 
const std::string & GetSyntax () const
 
- Public Member Functions inherited from ServiceProvider
 ServiceProvider (Module *Creator, const std::string &Name, ServiceType Type)
 
const char * GetTypeString () const
 
void DisableAutoRegister ()
 
- Public Member Functions inherited from Cullable
virtual ~Cullable ()
 

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 Member Functions inherited from Cullable
 Cullable ()
 
- Protected Attributes inherited from ModeHandler
ParamSpec parameters_taken
 
char mode
 
bool oper = false
 
bool list = false
 
ModeType m_type
 
const Class type_id
 
unsigned int ranktoset = HALFOP_VALUE
 
unsigned int ranktounset = HALFOP_VALUE
 
std::string syntax
 

Member Function Documentation

◆ OnModeChange()

ModeAction ParamModeBase::OnModeChange ( User source,
User dest,
Channel channel,
Modes::Change change 
)
overridevirtual

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.
changeInformation regarding the mode change.
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: