summaryrefslogtreecommitdiff
path: root/src/mode.cpp
AgeCommit message (Collapse)Author
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
2013-05-16Allow spaces (and more) in oper typesattilamolnar
The spaces are converted to '_' characters in OPERTYPE for 2.0 servers Issue #533 suggested by @ankitkv
2013-04-10Replace IS_AWAY() and IS_OPER() macros with User::IsAway() and User::IsOper()attilamolnar
2013-04-08Migrate u_listmode.h into the core, change +b to use itattilamolnar
2013-04-08Add builtin modes using AddService()attilamolnar
2013-04-08Unite include/modes/*.h into include/builtinmodes.hattilamolnar
2012-12-15Add IS_SERVER() and REG_ALL checks to (mostly oper only) commands taking a ↵attilamolnar
target nickname If a SID was passed as the target user parameter or when it's an unregistered user reply with the "no such nick" (or the moral equivalent) message
2012-12-08Fix unsafe iteration in DelMode() when unloading m_permchannelsattilamolnar
2012-11-28Change empty string assignments to .clear() or remove them entirelyattilamolnar
Part 2 of ba5c0db795824c3fc1ad48ce332d7bdc440cb77f