summaryrefslogtreecommitdiff
path: root/src/mode.cpp
AgeCommit message (Collapse)Author
2014-09-03Compare Limits.MaxModes to the size of LastChangeList in ModeParser::Process()Attila Molnar
2014-09-03Remove ProtocolInterface::SendMode()Attila Molnar
2014-09-03Pass the modes to the OnMode hook as a Modes::ChangeList, pass ↵Attila Molnar
ModeProcessFlags too
2014-09-03Populate a Modes::ChangeList object in ModeParser::Process()Attila Molnar
2014-09-02Change mode_sequence to be a const ref in ModeParser::Process()Attila Molnar
Also change the signature of DisplayListModes() to accept a const ref
2014-09-02Replace stringstream with a std::string in ModeParser::Process()Attila Molnar
There is no benefit in using a stringstream here
2014-08-06Pass prefix rank and prefix char to PrefixMode constructorAttila Molnar
2014-08-06Remove a bunch of useless classes representing simple core modesAttila Molnar
2014-07-14Remove typedef UserMembCIter, use Channel::MemberMap::const_iterator insteadAttila Molnar
2014-07-14Rename UserMembList to Channel::MemberMap, switch all code to use itAttila Molnar
2014-07-14Change return type of Channel::GetUsers() to reference from pointer as it is ↵Attila Molnar
never NULL
2014-06-24Change allocation of InspIRCd::Modes to be physically part of the object ↵Attila Molnar
containing it using fakederef
2014-03-15Add UserManager::GetUsers()Attila Molnar
2014-03-14Add InspIRCd::GetChans(), remove ChannelCount()Attila Molnar
2014-03-09Move the wallops mode from the core into core_wallopsAttila Molnar
2014-02-23Throw an exception if ModeParser::AddMode() failsAttila Molnar
2014-02-21Assign an id to user modes, parameter chanmodes and simple chanmodesAttila Molnar
2014-02-21Replace mode letter parameter of OnRawMode() with a ModeHandler*, remove pcntAttila Molnar
2014-02-20Add a ModeParser::FindMode() overload that takes a mode name and a mode typeAttila Molnar
2014-02-20Create a name -> ModeHandler* mapAttila Molnar
2014-02-18Replace ModeMasks with a two-dimensional arrayAttila Molnar
2014-02-18Change the parameter type of ModeHandler::GiveModeList() from ModeMasks to ↵Attila Molnar
ModeType
2014-02-15Add ParamModeBase and ParamMode, change all parameter modes to inherit from ↵Attila Molnar
ParamMode - Type of the extension used to store data is a template parameter - The extension is automatically unset when the mode is unset - Handlers inheriting from ParamMode have to provide OnSet() and SerializeParam(); may optionally provide OnUnset() - Transparently handle the case when OnSet() modifies the mode parameter - Remove Channel::custom_mode_params map; ask the mode handlers to serialize their parameters instead
2014-01-21Merge insp20Attila Molnar
2014-01-19Use FindNickOnly() in a few more places if a local user is performing an ↵Attila Molnar
action to prevent UID walking
2014-01-06Automatically register and unregister mode watchersAttila Molnar
2014-01-05Remove useless ULine() checksAttila Molnar
2013-11-12Use WriteNumeric() everywhere we send numerics and include the user's nick ↵Adam
automatically
2013-09-12Keep lists of mode handlers by typeattilamolnar
2013-09-11Move prefix mode specific fields and getters into PrefixModeattilamolnar
Add ModeHandler::IsPrefixMode()
2013-09-11Create a base class for prefix modesattilamolnar
Move Channel::SetPrefix() into Membership
2013-09-11Add a type id field to ModeHandlerattilamolnar
2013-08-31Improve support for rarely used compilers, EKOPath in this case.ChrisTX
2013-08-12Clean up a few constructorsattilamolnar
Do not silently correct a zero TS in Channel::Channel(); require callers to supply a valid TS instead
2013-08-04Change the syntax of FOREACH macros to be less dumb.Adam
2013-07-19Move SetNoticeMask(), FormatNoticeMasks() and ProcessNoticeMasks() from the ↵attilamolnar
User class to the snomask modehandler
2013-07-01Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵attilamolnar
with ModeHandlers, part 1
2013-07-01Fix a few oversightsattilamolnar
This partially reverts e0cb6bd46fb1d804ad6adea5688c844f7e1a0f6f
2013-06-13Call Channel::SetModeParam() from the mode parser when needed instead of ↵attilamolnar
requiring mode handlers to do it
2013-06-13Replace void* dest and target_type parameters of OnMode with a User* and a ↵attilamolnar
Channel*
2013-06-13Introduce ModeProcessFlags, can be passed to ModeParser::Process() to ↵attilamolnar
indicate local only mode changes and mode merges Change ProtocolInterface::SendMode() to take source and destination parameters, and call it from the mode parser whenever the mode change is global This deprecates the ambiguous InspIRCd::SendMode() and InspIRCd::SendGlobalMode() interface (the latter sent mode changes originating from local users twice, etc.)
2013-06-06Store prefix rank in a ModeHandler field, change ↵attilamolnar
ModeHandler::GetPrefixRank() to be non-virtual
2013-06-06Convert User::FormatNoticeMasks() to use std::string.Peter Powell
2013-06-02Move a few trivial functions into headersattilamolnar
2013-06-01Watch mode names with ModeWatchers instead of mode lettersattilamolnar
2013-06-01Remove useless ModeType parameter from ModeWatcher::BeforeMode() and AfterMode()attilamolnar
2013-05-27Simplify user mode removal via ModeHandler::RemoveMode()attilamolnar
The function does not need to be virtual because the core can remove any user mode using the default logic The optional modestack parameter was always NULL, so remove it
2013-05-27Deduplicate RemoveMode() implementationsattilamolnar
The default (core) implementation can now remove prefix modes The modestacker parameter is now mandatory
2013-05-24Cache mode list that is sent in the 004 numericattilamolnar
Deduplicate UserModeList(), ChannelModeList() and ParaModeList() code
2013-05-24Remove dead ModeParser codeattilamolnar