summaryrefslogtreecommitdiff
path: root/include/channels.h
AgeCommit message (Collapse)Author
2006-12-14Refactor userrec::chans.brain
Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op]) This increases speed a ton, and removes some wtf-age. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26Update comments to reflect new APIbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5807 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList ↵brain
&exempt_list, a list of users NOT to write to. By default it just contains the sender, you can add more. This also bumps the module api version by one. added "CUList fixme" to peaveys module just so it builds, as this will be refactored to use the new feature that was just added :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5806 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25Whoops, patchbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-15Fix for bug noticed by dotslasher (?) where SAJOIN can desyncbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5258 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-15Remove ExemptItem and InviteItem, these were never usedbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5253 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-10* Fix ChanModes::ModeString to not try and set a key as a user mode ;)brain
* Tweak the way cyclehosts works, so that mode change is not echoed back to user who changes their host/ident git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5208 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-02Add chanrec::IsBanned() so that we dont have to keep walking the banlist in ↵brain
various modules and using match() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5099 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28Update commentbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5054 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Document ModeParser::FindPrefix() and chanrec::GetAllPrefixes()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5006 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Multi-prefix FJOIN, and allowing module-defined prefixes across the networkbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Document mode prefixesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Spotted problem: must clear out all prefixes attached to a user when they ↵brain
quit or leave a channel Next thing to do, consider removing of opped_userlist, halfopped_userlist and voiced_userlist as this data is now in the prefixlist git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23Mode handlers handling listmodes where a listmode item is a nickname can now ↵brain
specify prefixes!!!!!! This isnt documented yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4997 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11Documentation of new chanrec functionsbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4894 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10cmode(), cflags(), cstatus() -> chanrec::GetStatusChar(), ↵brain
chanrec::GetStatusFlags(), chanrec::GetStatus() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4837 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, ↵brain
GetClass, WriteOpers, GetServerDescription -> into classes ServerConfig takes InspIRCd pointer in its constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4832 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09userrec and chanrec now have their own independent pointer back to their ↵brain
'creator' InspIRCd* object, extern now longer required in channels.cpp or users.cpp git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4820 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08Comment all the new stuffbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4797 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08WriteChannel* functions and ChanExceptSender* functions are now methods of ↵brain
chanrec. They probably should be renamed too eventually. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4788 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08add_channel -> chanrec::JoinUser()brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4787 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08Change to chanrec::PartUser. As with KickUser and ServerKickUser, returns ↵brain
the number of users left, if it returns 0, delete the chanrec git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4786 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08kick_channel -> chanrec::KickUser(), server_kick_channel -> ↵brain
chanrec::ServerKickUser() git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4782 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-09Alter SetModeParam to take const char* to save on casts, notice a load of ↵brain
modules that arent setting the param or the mode inside the handler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4231 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08Did some renaming so that the methods for modes in chanrec and userrec are ↵brain
identical. bool IsModeSet(const unsigned char c); void SetMode(const unsigned char c, bool value); Fixed m_botmode for new api git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4194 e03df62e-2008-0410-955e-edbf42e46eb7
2006-04-10A few more typedefs defined and put into use.om
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3866 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-12Commented a lot of stuff that hasnt been commented since 1.0.2brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3695 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-12Renamed to chanrec::modesbrain
Renamed IsCustomModeSet to IsModeSet GetModeParameter will now return the channel limit (as a string) for a request for mode 'l' and the channel key for a request for mode 'k'. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3692 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-12*NEEDS TESTING* changed binarymodes to use the custom_modes entriesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3691 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-12Removed chanrec::binarymodes - insp wont compile atm do not use :pbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3690 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-09Probably wont compile yet - purge_empty_channels refactorbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3579 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08Removed has_channel(userrec*,chanrec*), the new preferred way of doing it is ↵brain
channel->HasUser(userrec) Yeah its the other way around to the old way, but somehow, seems less backwards to me (its also faster) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3560 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08Got rid of all that ugly char* cast crap (todo: change docs to reflect change)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3556 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08Fixed #defines to be enums (tidier)brain
Removed UCMODE_PROTECT/UCMODE_FOUNDER git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3555 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08Actually, 64.brain
(256-64-128) = 64 chars printable alphabet (roughly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3552 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-08chanrec::custom_modes only needs 96 values not 190brain
(256 - 32 - 128) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3551 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-07*TEST CODE* Faster custom mode set/unsetbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3508 e03df62e-2008-0410-955e-edbf42e46eb7
2006-03-05Sped up introduction of nicks using vector::resize() rather than the craq++ ↵brain
loop (wtf was i thinking doing it that way?) Removed 'client connecting notices dont show locally during burst' -- this is silly as it doesnt work remotely and is pretty much pointless git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3460 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-15Moved custom_mode_params to per-channelbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3223 e03df62e-2008-0410-955e-edbf42e46eb7
2006-02-03This probably wont compile atm - add support for prefixed messagesbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3046 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-22Added facility for servers to send KICK message (ew, i hate this crap)brain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2830 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-15Updated copyrights in headers etc using perl inplace editbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2795 e03df62e-2008-0410-955e-edbf42e46eb7
2006-01-12Changed channel user lists from vector to mapbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2780 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-14Fixing move of *_channel functions to herebrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2423 e03df62e-2008-0410-955e-edbf42e46eb7
2005-12-14Moved add_channel, del_channel, kick_channel to channels.cppbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2422 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-25Added parametersbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1522 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-16Removed __single_client_alloc again because gcc devs were smoking crack and ↵brain
removed it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1406 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-15Changed to use __single_client_alloc, faster on most systems in a single threadbrain
Specified namespace std in *all* files git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1404 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-12Changed the type of struct whowas records are stored in (no need to waste a ↵brain
big heavy userrec) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1369 e03df62e-2008-0410-955e-edbf42e46eb7
2005-05-12Structure optimizations, changed a lot of bools into binary bitmasksbrain
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@1368 e03df62e-2008-0410-955e-edbf42e46eb7