From 1a738eb97eb7ac62b7d28bd40b03969d175ee6e3 Mon Sep 17 00:00:00 2001 From: w00t Date: Mon, 27 Oct 2008 22:29:56 +0000 Subject: 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 --- include/mode.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'include') 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); -- cgit v1.2.3