summaryrefslogtreecommitdiff
path: root/include/mode.h
Commit message (Collapse)AuthorAgeFilesLines
* OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.Gravatar peavey2007-07-161-1/+519
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
* 'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are ↵Gravatar peavey2007-07-161-519/+1
| | | | | | auto skipped by svn. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
* More commentsGravatar brain2007-06-171-0/+15
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7381 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix std::sort stuff for w00tGravatar brain2007-05-191-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7050 e03df62e-2008-0410-955e-edbf42e46eb7
* Windows support. Tested and working to compile on freebsd and linux. Next ↵Gravatar w00t2007-05-191-3/+3
| | | | | | step is to make sure it actually works in windows too. ;p. Add Burlex to contributors. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix lusers breakage introduced by latest set of optimizationsGravatar brain2007-01-031-0/+3
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6219 e03df62e-2008-0410-955e-edbf42e46eb7
* This doesnt need to be staticGravatar brain2006-12-291-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6164 e03df62e-2008-0410-955e-edbf42e46eb7
* Add counter system for umodes to get rid of some O(n)Gravatar brain2006-12-291-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6163 e03df62e-2008-0410-955e-edbf42e46eb7
* And now, just to force you to recompile the *whole* ircd.. updated headers ↵Gravatar w00t2006-12-151-6/+3
| | | | | | on the headers. :p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
* Make SAMODE oper output tidierGravatar brain2006-09-091-0/+11
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5184 e03df62e-2008-0410-955e-edbf42e46eb7
* Add /RELOAD and move cmd_mode into its own command.Gravatar brain2006-09-031-14/+0
| | | | | | | /RELOAD is the only thing you cant reload (ahem) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5119 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow unloading of modules which implement modes!Gravatar brain2006-09-021-0/+29
| | | | | | | The default implementation of the new system will remove simplemodes so any mode handler which is just a simple mode (no params and not a list mode) does not need to add much more than one line of code and remove its VF_STATIC flag. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5100 e03df62e-2008-0410-955e-edbf42e46eb7
* *thwap* om for not fixing the bugs he finds :pGravatar brain2006-08-311-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5087 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never useGravatar brain2006-08-301-3/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7
* Add <options:cyclehosts> which allows a user to appear to have quit when ↵Gravatar brain2006-08-251-0/+10
| | | | | | | | | their host changes, so that clients/bots can stay synched properly. It is recommended this option always be on. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5017 e03df62e-2008-0410-955e-edbf42e46eb7
* ModeParser::InsertMode is no longer required -- this is auto-generated by ↵Gravatar brain2006-08-231-4/+5
| | | | | | the ModeParser based on what modes are registered and wether or not they have certain attributes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5007 e03df62e-2008-0410-955e-edbf42e46eb7
* Document ModeParser::FindPrefix() and chanrec::GetAllPrefixes()Gravatar brain2006-08-231-40/+25
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5006 e03df62e-2008-0410-955e-edbf42e46eb7
* Multi-prefix FJOIN, and allowing module-defined prefixes across the networkGravatar brain2006-08-231-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5002 e03df62e-2008-0410-955e-edbf42e46eb7
* More prefixchar stuff.Gravatar brain2006-08-231-0/+7
| | | | | | | WARNING: 005 numeric is broken in this commit. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5000 e03df62e-2008-0410-955e-edbf42e46eb7
* Document mode prefixesGravatar brain2006-08-231-2/+33
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4999 e03df62e-2008-0410-955e-edbf42e46eb7
* Mode handlers handling listmodes where a listmode item is a nickname can now ↵Gravatar brain2006-08-231-5/+28
| | | | | | | | | specify prefixes!!!!!! This isnt documented yet. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4997 e03df62e-2008-0410-955e-edbf42e46eb7
* Explain what ModeParser doesGravatar brain2006-08-121-0/+5
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4907 e03df62e-2008-0410-955e-edbf42e46eb7
* (Bigger than it looks, i did this with perl inplace edit) -- commands now ↵Gravatar brain2006-08-111-1/+1
| | | | | | take an InspIRCd* param to their constructor, so that you can do stuff within them without an extern git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4862 e03df62e-2008-0410-955e-edbf42e46eb7
* So much stuff changed in this one, i forgot most of it.Gravatar brain2006-08-101-6/+11
| | | | | | | Oh yeah, main thing is ModeHandler and ModeWatcher classes now take an InspIRCd* to their constructor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4858 e03df62e-2008-0410-955e-edbf42e46eb7
* Move InsertMode into ModeParserGravatar brain2006-08-101-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4849 e03df62e-2008-0410-955e-edbf42e46eb7
* Dynamically generate 004 numeric from the modehandler listGravatar brain2006-08-031-0/+6
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4665 e03df62e-2008-0410-955e-edbf42e46eb7
* Add support for syntax of commands in place of the text 'Not enough ↵Gravatar brain2006-07-281-1/+1
| | | | | | | | | parameters' in numeric 461, where supported. To support this each derived class of command_t must set the value of command_t::syntax to a non-empty string. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4561 e03df62e-2008-0410-955e-edbf42e46eb7
* Change std::pair<bool,std::string> to neater typedef "ModePair"Gravatar brain2006-07-271-2/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4557 e03df62e-2008-0410-955e-edbf42e46eb7
* Mode merging during FJOIN with ourts==theirts. Only +k and +l have ↵Gravatar brain2006-07-271-0/+19
| | | | | | CheckTimestamp methods atm, needs to be finished by me and TIDIED. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4556 e03df62e-2008-0410-955e-edbf42e46eb7
* commit remainder of new mode bouncing stuff for TS based modesGravatar brain2006-07-271-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4550 e03df62e-2008-0410-955e-edbf42e46eb7
* Add extra method to mode handler, ModeHandler::ModeSet().Gravatar brain2006-07-261-0/+2
| | | | | | | | | | | Returns a std::pair<bool,string>. if the bool is true, the mode is set, and the second item in the pair is the parameter set on it, if any If the bool is false, the mode is not set, and the parameter given is returned as the second item of the pair To be used in mode bouncing, to build a safe set of bounced modes (dont ask yet) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4549 e03df62e-2008-0410-955e-edbf42e46eb7
* mass tidyup, change A LOT of stuff to const char** which was char** (such as ↵Gravatar brain2006-07-161-2/+2
| | | | | | | | | | parameters to commands in handlers) which makes the new lineparser work neater with no casts. This also removes tons of casts from other locations (all in all, ive added 2 casts and removed almost a hundred) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4403 e03df62e-2008-0410-955e-edbf42e46eb7
* Inherit tons of stuff from classbase that should always have beenGravatar brain2006-07-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4298 e03df62e-2008-0410-955e-edbf42e46eb7
* Made a load more stuff Extensible which might be of use to someoneGravatar brain2006-07-101-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4293 e03df62e-2008-0410-955e-edbf42e46eb7
* Added ModeParser::AddModeWatcher() and ModeParser::DelModeWatcher()Gravatar brain2006-07-101-0/+18
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4266 e03df62e-2008-0410-955e-edbf42e46eb7
* Finally finished documenting new mode parser. Lots of comments.Gravatar brain2006-07-091-6/+108
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4242 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert u_listmode and m_banexception to new apiGravatar brain2006-07-081-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4189 e03df62e-2008-0410-955e-edbf42e46eb7
* Added DisplayCurrentModes which will display the modes of a channel or nickGravatar brain2006-07-081-4/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4181 e03df62e-2008-0410-955e-edbf42e46eb7
* Refactored user modes to work like the channel modes - core and module data ↵Gravatar brain2006-07-081-11/+0
| | | | | | now the same storage format without ::modebits git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4175 e03df62e-2008-0410-955e-edbf42e46eb7
* Added usermodes +swi.Gravatar brain2006-07-081-0/+1
| | | | | | | | | Note the usermode system needs a bit of a refactor to combine module and core modes into the same storage neatly (as we did with channels) this is next on my todo. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4174 e03df62e-2008-0410-955e-edbf42e46eb7
* Add cmode +o (op/deop) and in the process change a lot of char* to const ↵Gravatar brain2006-07-081-9/+11
| | | | | | char* to avoid unneccessary casts git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4165 e03df62e-2008-0410-955e-edbf42e46eb7
* ModeHandler documentedGravatar brain2006-07-081-0/+62
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4161 e03df62e-2008-0410-955e-edbf42e46eb7
* Started work on ModeParser::CleanMask()Gravatar brain2006-07-071-2/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4145 e03df62e-2008-0410-955e-edbf42e46eb7
* CommentsGravatar brain2006-07-071-2/+62
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4144 e03df62e-2008-0410-955e-edbf42e46eb7
* Mode +b stuff, probably wont work yetGravatar brain2006-07-071-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4133 e03df62e-2008-0410-955e-edbf42e46eb7
* Aaaand, correct all the obligitary typosGravatar brain2006-07-071-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4129 e03df62e-2008-0410-955e-edbf42e46eb7
* Added masking stuff.Gravatar brain2006-07-071-2/+9
| | | | | | | | | | | | Basically, so that we can hold user modes and channel modes in the same list, we use bitwise masking. We have a list of handlers, 256 in size 0 through 255, and to work out where a mode handler is dependent on WHAT it is, we use this simple hashing algorithm (no collisions can occur): (modeletter - 65) | mask Where mask is 128 (10000000b) if its a user mode, or 0 (00000000b, duh) if its a channel mode. Smart, and much faster than using a map of pairs. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4128 e03df62e-2008-0410-955e-edbf42e46eb7
* Mode parser WORKS! (for simple non-parameterized channel modes)Gravatar brain2006-07-071-5/+1
| | | | | | | Tested with channel mode +s. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4126 e03df62e-2008-0410-955e-edbf42e46eb7
* Header for cmode_s.cppGravatar brain2006-07-071-0/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4124 e03df62e-2008-0410-955e-edbf42e46eb7
* Typedef an ugly iterator, dont send mode string if no modes were in the ↵Gravatar brain2006-04-101-0/+2
| | | | | | output sequence git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@3867 e03df62e-2008-0410-955e-edbf42e46eb7