summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/modules.h15
-rw-r--r--include/typedefs.h3
2 files changed, 18 insertions, 0 deletions
diff --git a/include/modules.h b/include/modules.h
index 315739c22..71bec2d3d 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -230,6 +230,21 @@ class Event : public ModuleMessage
char* Send();
};
+/** Holds an extended mode's details.
+ * Used internally by modules.cpp
+ */
+class ExtMode : public classbase
+{
+ public:
+ char modechar;
+ int type;
+ bool needsoper;
+ int params_when_on;
+ int params_when_off;
+ bool list;
+ ExtMode(char mc, int ty, bool oper, int p_on, int p_off) : modechar(mc), type(ty), needsoper(oper), params_when_on(p_on), params_when_off(p_off) { };
+};
+
/** Base class for all InspIRCd modules
* This class is the base class for InspIRCd modules. All modules must inherit from this class,
diff --git a/include/typedefs.h b/include/typedefs.h
index 39876207d..1cd48a24a 100644
--- a/include/typedefs.h
+++ b/include/typedefs.h
@@ -7,6 +7,7 @@
#include "inspstring.h"
#include "ctables.h"
#include "inspircd.h"
+#include "modules.h"
#include "inspircd_config.h"
#include <string>
#ifdef GCC3
@@ -21,5 +22,7 @@ typedef nspace::hash_map<in_addr,string*, nspace::hash<in_addr>, irc::InAddr_Has
typedef nspace::hash_map<std::string, WhoWasUser*, nspace::hash<string>, irc::StrHashComp> whowas_hash;
typedef std::deque<command_t> command_table;
typedef std::vector<std::string> servernamelist;
+typedef std::vector<ExtMode> ExtModeList;
+typedef ExtModeList::iterator ExtModeListIter;
#endif