]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/listmode.h
Merge branch 'master+websocket'
[user/henk/code/inspircd.git] / include / listmode.h
index 1c6f70d6f483c5b02eeb4016c78f551846d69d40..94af1d524f366541fc5fd5a04b70a6e46bb8b8ae 100644 (file)
@@ -37,7 +37,7 @@ class CoreExport ListModeBase : public ModeHandler
 
        /** Items stored in the channel's list
         */
-       typedef std::list<ListItem> ModeList;
+       typedef std::vector<ListItem> ModeList;
 
  private:
        class ChanData
@@ -106,7 +106,8 @@ class CoreExport ListModeBase : public ModeHandler
 
  public:
        /** Constructor.
-        * @param Instance The creator of this class
+        * @param Creator The creator of this class
+        * @param Name Mode name
         * @param modechar Mode character
         * @param eolstr End of list string
         * @param lnum List numeric
@@ -144,39 +145,26 @@ class CoreExport ListModeBase : public ModeHandler
        virtual void DisplayEmptyList(User* user, Channel* channel);
 
        /** Remove all instances of the mode from a channel.
-        * See mode.h
+        * Populates the given modestack with modes that remove every instance of
+        * this mode from the channel.
+        * See mode.h for more details.
         * @param channel The channel to remove all instances of the mode from
+        * @param changelist Mode change list to populate with the removal of this mode
         */
-       virtual void RemoveMode(Channel* channel, irc::modestacker* stack);
-
-       /** Listmodes don't get set on users, no-op
-       */
-       virtual void RemoveMode(User*, irc::modestacker* stack);
+       virtual void RemoveMode(Channel* channel, Modes::ChangeList& changelist);
 
        /** Perform a rehash of this mode's configuration data
         */
-       virtual void DoRehash();
-
-       /** Populate the Implements list with the correct events for a List Mode
-        */
-       virtual void DoImplements(Module* m);
+       void DoRehash();
 
        /** Handle the list mode.
         * See mode.h
         */
        virtual ModeAction OnModeChange(User* source, User*, Channel* channel, std::string &parameter, bool adding);
 
-       /** Syncronize channel item list with another server.
-        * See modules.h
-        * @param chan Channel to syncronize
-        * @param proto Protocol module pointer
-        * @param opaque Opaque connection handle
-        */
-       virtual void DoSyncChannel(Channel* chan, Module* proto, void* opaque);
-
        /** Validate parameters.
         * Overridden by implementing module.
-        * @param source Source user adding the parameter
+        * @param user Source user adding the parameter
         * @param channel Channel the parameter is being added to
         * @param parameter The actual parameter being added
         * @return true if the parameter is valid