Age | Commit message (Collapse) | Author |
|
|
|
merge e244cb2c63b1ac1d85bdbb4691f7b1bd940ae804
|
|
|
|
Get the user mode list from the ModeParser instead of trying all possible mode letters
|
|
changing user modes
|
|
- Process() that takes a std::vector<std::string>
- DisplayCurrentModes()
- DisplayListModes()
|
|
|
|
ShowListModeList() sends the list of one listmode to a user, DisplayListMode() calls it for each mode letter
|
|
|
|
|
|
This gets rid of the duplicated mode parsing logic in m_namedmodes
|
|
ModeParser::Process()
|
|
Use ModeParser::ModeParamsToChangeList() instead of duplicating logic
|
|
|
|
ModeParser::ModeParamsToChangeList()
This helps spanningtree when it deals with a vector of parameters where the modes begin at different positions
|
|
|
|
|
|
|
|
|
|
|
|
Modes::ChangeList
This is a wrapper that calls ProcessSingle() repeatedly until the entire changelist is processed
|
|
Return number of processed mode changes from ModeParser::ProcessSingle() and add a begin index parameter
|
|
|
|
|
|
|
|
This applies up to one MODE line's worth of mode changes from a Modes::ChangeList
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If the MODE_LOCALONLY flag is set the mode change is not propagated
|
|
Modes::ChangeList::List into MODE/FMODE format
|
|
ModeProcessFlags too
|
|
|
|
Also change the signature of DisplayListModes() to accept a const ref
|
|
There is no benefit in using a stringstream here
|
|
override joins
Slightly more readable version of #892 by @ShutterQuick
|
|
|
|
|
|
|
|
|
|
|
|
|
|
object containing it
|
|
|
|
remove cmode_{o,v}
The default value for levelrequired is HALFOP_VALUE, meaning the ModeChannelVoice class is not required but it will be useful in case the default changes
|
|
|
|
|