]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/mode.h
Move list of open ports out of Config object
[user/henk/code/inspircd.git] / include / mode.h
index f78fcda9c3e63d8e1259d99d73967540603cca77..280284bfa8c77b775f2e6009dfacf0a758ba1857 100644 (file)
@@ -3,7 +3,7 @@
  *       +------------------------------------+
  *
  *  InspIRCd: (C) 2002-2009 InspIRCd Development Team
- * See: http://www.inspircd.org/wiki/index.php/Credits
+ * See: http://wiki.inspircd.org/Credits
  *
  * This program is free but copyrighted software; see
  *            the file COPYING for details.
@@ -17,6 +17,7 @@
 /* Forward declarations. */
 class User;
 
+#include "ctables.h"
 #include "channels.h"
 
 /**
@@ -125,6 +126,10 @@ class CoreExport ModeHandler : public Extensible
         * MODETYPE_CHANNEL.
         */
        ModeType m_type;
+       /**
+        * The mode parameter translation type
+        */
+       TranslateType m_paramtype;
        /**
         * True if the mode requires oper status
         * to set.
@@ -161,7 +166,8 @@ class CoreExport ModeHandler : public Extensible
         * and the rank values OP_VALUE, HALFOP_VALUE and VOICE_VALUE respectively. Any prefixes you define should have unique values proportional
         * to these three defaults or proportional to another mode in a module you depend on. See src/cmode_o.cpp as an example.
         */
-       ModeHandler(InspIRCd* Instance, char modeletter, int parameters_on, int parameters_off, bool listmode, ModeType type, bool operonly, char mprefix = 0, char prefixrequired = '%');
+       ModeHandler(InspIRCd* Instance, char modeletter, int parameters_on, int parameters_off, bool listmode, ModeType type, bool operonly,
+               char mprefix = 0, char prefixrequired = '%', TranslateType translate = TR_TEXT);
        /**
         * The default destructor does nothing
         */
@@ -191,9 +197,13 @@ class CoreExport ModeHandler : public Extensible
         */
        virtual unsigned int GetPrefixRank();
        /**
-        * Returns the modes type
+        * Returns the mode's type
         */
        ModeType GetModeType();
+       /**
+        * Returns the mode's parameter translation type
+        */
+       TranslateType GetTranslateType();
        /**
         * Returns true if the mode can only be set/unset by an oper
         */
@@ -435,6 +445,8 @@ class CoreExport ModeParser : public classbase
         * Use GetLastParse() to get this value, to be used for  display purposes.
         */
        std::string LastParse;
+       std::deque<std::string> LastParseParams;
+       std::deque<TranslateType> LastParseTranslate;
 
        unsigned int sent[256];
 
@@ -476,6 +488,8 @@ class CoreExport ModeParser : public classbase
         * @return Last parsed string, as seen by users.
         */
        const std::string& GetLastParse();
+       const std::deque<std::string>& GetLastParseParams() { return LastParseParams; }
+       const std::deque<TranslateType>& GetLastParseTranslate() { return LastParseTranslate; }
        /** Add a mode to the mode parser.
         * @return True if the mode was successfully added.
         */