summaryrefslogtreecommitdiff
path: root/include/channels.h
AgeCommit message (Collapse)Author
2015-12-28Return true from Channel::PartUser() if the user was on the channelAttila Molnar
2015-11-02Rewrite invite systemAttila Molnar
- Moved out of core, now lives entirely in core_channel - Accessible using the provided API after including the appropriate header - Invites are stored in an extension attached to LocalUser/Channel objects, they no longer need special handling when destroying these objects or when lowering TS - Expiration of timed invites are implemented using Timers - When creating a new invite let a non-timed invite override a timed one
2015-05-16Move Channel::UserList() from core to cmd_namesAttila Molnar
2014-09-27Store Membership objects physically in the nodes of Channel::MemberMapAttila Molnar
2014-07-14Remove typedef UserMembIter, use Channel::MemberMap::iterator insteadAttila Molnar
Remove the now unused UserMembList typedef too
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-10Return the newly created Membership object from Channel::ForceJoin()Attila Molnar
2014-06-10Change Channel::KickUser() to accept an iterator, add overload that accepts ↵Attila Molnar
a User Remove srcmemb parameter
2014-04-09Avoid double Membership lookup in Channel::UserList()Attila Molnar
The user is always inside if UserList() is called from ForceJoin() and the HasUser() result obtained in the /NAMES handler can be reused
2014-02-21Index Channel::modes and User::modes with the id of the mode instead of its ↵Attila Molnar
letter
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-02-14Move GetAllPrefixChars() from Channel to MembershipAttila Molnar
2014-02-14Move GetPrefixChar() from Channel to MembershipAttila Molnar
2014-01-24Convert InviteBase::invites to an intrusively linked listAttila Molnar
2013-09-11Create a base class for prefix modesattilamolnar
Move Channel::SetPrefix() into Membership
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-07-19Replace hardcoded mode letters, part 2attilamolnar
This changes all remaining Channel::IsModeSet() and Channel::GetModeParameter() calls to use ModeReferences for modes that were created by other modules or the core
2013-07-01Replace hardcoded mode letters passed to IsModeSet() and GetModeParameter() ↵attilamolnar
with ModeHandlers, part 1
2013-06-21Fix Doxygen comments.Peter Powell
2013-06-16Always set the topic in Channel::SetTopic(), move access checks into cmd_topicattilamolnar
2013-06-04Remove the now unused Channel::RemoveAllPrefixes() and CountInvisible()attilamolnar
2013-06-04Reduce User* -> Membership* lookups on part and kickattilamolnar
2013-06-02Move a few trivial functions into headersattilamolnar
2013-05-16Get rid of strlcpy(), strlcat(), charlcat() and charremove()attilamolnar
2013-05-15Replace some C-isms with C++-isms.Peter Powell
* 'const char*' to 'const std::string&'. * snprintf to std::string concatenation. * Replace duplicated OneOfMatches with InspIRCd::MatchMask.
2013-04-13Channel::JoinUser() and Channel::ForceChan() changesattilamolnar
Convert static Channel::ForceChan() to non-static Channel::ForceJoin() that joins a user to a channel, no permission checks The (static) Channel::JoinUser() now has a LocalUser parameter, and no longer have TS and bursting parameters. If the channel doesn't exist, it is created using current time as TS
2013-04-12Tidy up source files:Peter Powell
- Use #pragma once instead of include guards. - Move header files in src/modules to include/modules. - Fixed various spacing issues.
2013-04-08Migrate u_listmode.h into the core, change +b to use itattilamolnar
2013-04-01Change channel name parameter of Module::OnUserPreJoin() and ↵attilamolnar
Channel::JoinUser() to std::string from char*
2012-07-05Fix Doxygen syntax errors.Peter Powell
2012-06-17Fix pending invites not being removed when a channel was deleted or had its ↵attilamolnar
TS lowered
2012-04-19Replace copyright headers with headers granting specific authors copyrightRobby-
2012-04-14Fixes for bug #12Justin Crawford
2010-01-11...because every now and again, i have to do a massive commit.brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-09Disallow adding prefix-mode when it is already set (fixes bug #935)danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12245 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Add ModeHandler* versions of channel mode accessdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12133 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-15Hide channel mode structuresdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12132 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24Move forward declarations to typedefs.hdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11967 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23Make User::uuid and User::server constdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-18Cull channels, warn when Extensible objects are not culled as they must bedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11901 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17Make classbase and refcountbase uncopyable; expand comments on their ↵danieldg
indended uses git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03Get rid of a bunch of memory-wasting C-style stringsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11796 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26Remove InspIRCd* parameters and fieldsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Change match direction of extbans to allow stackingdanieldg
This allows you create stacked bans like: +b m:r:*bot* to mute anyone with bot in their gecos +e S:j:+#staff to allow voices in #staff to use color It also deprecates extban M, which can be implemented using m:R: git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11711 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Remove redundant ServerInstance* fieldsdanieldg
It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Simplify ModeHandler constructordanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11701 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Module API changes to use Membership* where sensibledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11699 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Membership* changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02inline Channel::IsModeSetdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11643 e03df62e-2008-0410-955e-edbf42e46eb7