]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/listmode.h
Merge tag 'v2.0.25' into master.
[user/henk/code/inspircd.git] / include / listmode.h
index 04044948ca01d64cee3058dd2ab5427d9dd46df5..f978e9c9a39529afb3f7c219a4f72c34c569efd3 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
@@ -63,6 +63,9 @@ class CoreExport ListModeBase : public ModeHandler
         */
        typedef std::vector<ListLimit> limitlist;
 
+       /** The default maximum list size. */
+       static const unsigned int DEFAULT_LIST_SIZE = 100;
+
        /** Finds the limit of modes that can be placed on the given channel name according to the config
         * @param channame The channel name to find the limit for
         * @return The maximum number of modes of this type that we allow to be set on the given channel name
@@ -123,6 +126,10 @@ class CoreExport ListModeBase : public ModeHandler
         */
        unsigned int GetLimit(Channel* channel);
 
+       /** Gets the lower list limit for this listmode.
+        */
+       unsigned int GetLowerLimit();
+
        /** Retrieves the list of all modes set on the given channel
         * @param channel Channel to get the list from
         * @return A list with all modes of this type set on the given channel, can be NULL