X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=include%2Fmode.h;h=eebfbedd61f4fd1b447afecd5a188d276d3c2a77;hb=5544649cd2058ba6d30925e61d20ae4a0245c0fa;hp=17d0ec64c0a14b20b5d0f54693512d8ce588bd0b;hpb=e3fc46af3ea3999ea5eea7274f038f4f03357e0e;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/include/mode.h b/include/mode.h index 17d0ec64c..eebfbedd6 100644 --- a/include/mode.h +++ b/include/mode.h @@ -473,8 +473,6 @@ class CoreExport ModeWatcher : public classbase virtual void AfterMode(User* source, User* dest, Channel* channel, const std::string& parameter, bool adding); }; -typedef std::multimap::iterator ModeWatchIter; - /** The mode parser handles routing of modes and handling of mode strings. * It marshalls, controls and maintains both ModeWatcher and ModeHandler classes, * parses client to server MODE strings for user and channel modes, and performs @@ -490,6 +488,10 @@ class CoreExport ModeParser : public fakederef typedef TR1NS::unordered_map ModeHandlerMap; private: + /** Type of the container that maps mode names to ModeWatchers + */ + typedef insp::flat_multimap ModeWatcherMap; + /** Last item in the ModeType enum */ static const unsigned int MODETYPE_LAST = 2; @@ -524,21 +526,12 @@ class CoreExport ModeParser : public fakederef /** Mode watcher classes */ - std::multimap modewatchermap; + ModeWatcherMap modewatchermap; /** Last processed mode change */ Modes::ChangeList LastChangeList; - /** Displays the current modes of a channel or user. - * Used by ModeParser::Process. - */ - void DisplayCurrentModes(User* user, User* targetuser, Channel* targetchannel); - /** Displays the value of a list mode - * Used by ModeParser::Process. - */ - void DisplayListModes(User* user, Channel* chan, const std::string& mode_sequence); - /** * Attempts to apply a mode change to a user or channel */ @@ -569,10 +562,6 @@ class CoreExport ModeParser : public fakederef */ std::string LastParse; - unsigned int sent[256]; - - unsigned int seq; - /** Cached mode list for use in 004 numeric */ std::string Cached004ModeList; @@ -671,14 +660,6 @@ class CoreExport ModeParser : public fakederef * @return True if the ModeWatcher was deleted correctly */ bool DelModeWatcher(ModeWatcher* mw); - /** Process a set of mode changes from a server or user. - * @param parameters The parameters of the mode change, in the format - * they would be from a MODE command. - * @param user The source of the mode change, can be a server user. - * @param flags Optional flags controlling how the mode change is processed, - * defaults to MODE_NONE. - */ - void Process(const std::vector& parameters, User* user, ModeProcessFlag flags = MODE_NONE); /** Process a list of mode changes entirely. If the mode changes do not fit into one MODE line * then multiple MODE lines are generated.