]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/configreader.h
Add more features to modestacker so that we can stack +, -, and parameterless modes
[user/henk/code/inspircd.git] / include / configreader.h
index b95cdede5a27e1204323186fcc04da386160608b..44551b1329cbace399038e42a86e6fc3d64d92c9 100644 (file)
@@ -25,6 +25,8 @@
 #include "inspircd.h"
 #include "globals.h"
 #include "modules.h"
+#include "socketengine.h"
+#include "socket.h"
 
 class ServerConfig;
 class InspIRCd;
@@ -35,6 +37,8 @@ typedef bool (*MultiNotify)(ServerConfig* conf, const char*);
 
 enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN };
 
+/** Holds a core configuration item and its callbacks
+ */
 struct InitialConfig
 {
        char* tag;
@@ -44,6 +48,9 @@ struct InitialConfig
        Validator validation_function;
 };
 
+/** Holds a core configuration item and its callbacks
+ * where there may be more than one item
+ */
 struct MultiConfig
 {
        const char* tag;
@@ -84,6 +91,8 @@ class ServerConfig : public Extensible
        bool CheckOnce(char* tag, bool bail, userrec* user);
   
   public:
+
+       InspIRCd* GetInstance();
          
        /** This holds all the information in the config file,
         * it's indexed by tag name to a vector of key/values.
@@ -308,7 +317,7 @@ class ServerConfig : public Extensible
 
        /** A list of the file descriptors for the listening client ports
         */
-       int openSockfd[MAX_DESCRIPTORS];
+       ListenSocket* openSockfd[255];
 
        /** Boolean sets of which modules implement which functions
         */
@@ -357,10 +366,14 @@ class ServerConfig : public Extensible
         */
        bool SyntaxHints;
 
+       /** If set to true, users appear to quit then rejoin when their hosts change.
+        * This keeps clients synchronized properly.
+        */
+       bool CycleHosts;
+
        ServerConfig(InspIRCd* Instance);
 
-       /** Clears the include stack in preperation for
-        * a Read() call.
+       /** Clears the include stack in preperation for a Read() call.
         */
        void ClearStack();