InspIRCd  4.0
Public Member Functions | Public Attributes | List of all members
ParamMode< T, ExtItemT > Class Template Reference

#include <parammode.h>

Inheritance diagram for ParamMode< T, ExtItemT >:
ParamModeBase ModeHandler ServiceProvider Cullable insp::uncopiable

Public Member Functions

 ParamMode (Module *Creator, const std::string &Name, char modeletter, ParamSpec ps=PARAM_SETONLY)
void OnUnsetInternal (User *source, Channel *chan) override
void GetParameter (Channel *chan, std::string &out) override
- Public Member Functions inherited from ParamModeBase
 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
- 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 ()

Public Attributes

ExtItemT ext
- Public Attributes inherited from ServiceProvider
ModuleRef creator
const std::string name
const ServiceType service

Additional Inherited Members

- Public Types inherited from ModeHandler
typedef size_t Id
- 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

Detailed Description

template<typename T, typename ExtItemT>
class ParamMode< T, ExtItemT >

Defines a parameter mode T = Child class ExtItemT = Type of the extension item used to store the parameter

When unsetting the mode, the extension is automatically unset.

Constructor & Destructor Documentation

◆ ParamMode()

template<typename T , typename ExtItemT >
ParamMode< T, ExtItemT >::ParamMode ( Module Creator,
const std::string &  Name,
char  modeletter,
ParamSpec  ps = PARAM_SETONLY 
CreatorModule handling this mode
NameThe internal name of this mode
modeletterThe mode letter of this mode
psThe parameter type of this mode, one of ParamSpec

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