summaryrefslogtreecommitdiff
path: root/include/mode.h
diff options
context:
space:
mode:
authorw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-27 22:29:56 +0000
committerw00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7>2008-10-27 22:29:56 +0000
commit1a738eb97eb7ac62b7d28bd40b03969d175ee6e3 (patch)
treef9aba6c851c7c3575d10b23caaf8db79af159f23 /include/mode.h
parent50234923b292122bb19296952b947d55b1760c62 (diff)
Add user/channel mode synchronisation detection to CAPAB - link will now drop if modes differ in some way (one side requires param, other doesn't, etc). Same for user modes.
This will not affect services. Side effect: Modes::ChanModes() -> Modes::GiveModeList(ModeMasks), mode list is formatted identically for both MASK_CHANNEL and MASK_USER. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10733 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'include/mode.h')
-rw-r--r--include/mode.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/mode.h b/include/mode.h
index 894e7bef2..a8dd839dd 100644
--- a/include/mode.h
+++ b/include/mode.h
@@ -544,9 +544,14 @@ class CoreExport ModeParser : public classbase
*/
std::string ParaModeList();
- /** Generates the CHANMODES= 005 sequence
+ /** Generates a list of modes, comma seperated by type:
+ * 1; Listmodes EXCEPT those with a prefix
+ * 2; Modes that take a param when adding or removing
+ * 3; Modes that only take a param when adding
+ * 4; Modes that dont take a param
*/
- std::string ChanModes();
+ std::string GiveModeList(ModeMasks m);
+
/** Used by this class internally during std::sort and 005 generation
*/
static bool PrefixComparison(prefixtype one, prefixtype two);