]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/configreader.h
Wahhhhhhhhhhhh bwahahaha. Mass commit to tidy up tons of messy include lists
[user/henk/code/inspircd.git] / include / configreader.h
index 79384c2dbc8f2839833195266d674fe6869fad2f..5c8a663070887c1ac3f0b204880d2e15fb625a14 100644 (file)
 #include "inspircd.h"
 #include "globals.h"
 #include "modules.h"
+#include "socketengine.h"
+#include "socket.h"
 
 class ServerConfig;
+class InspIRCd;
 
 typedef bool (*Validator)(ServerConfig* conf, const char*, const char*, void*);
 typedef bool (*MultiValidator)(ServerConfig* conf, const char*, char**, void**, int*);
@@ -61,6 +64,8 @@ struct MultiConfig
 class ServerConfig : public Extensible
 {
   private:
+       InspIRCd* ServerInstance;
+
        /** This variable holds the names of all
         * files included from the main one. This
         * is used to make sure that no files are
@@ -81,6 +86,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.
@@ -305,7 +312,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
         */
@@ -354,10 +361,14 @@ class ServerConfig : public Extensible
         */
        bool SyntaxHints;
 
-       ServerConfig();
+       /** 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();
 
@@ -402,6 +413,12 @@ class ServerConfig : public Extensible
        Module* GetIOHook(int port);
        bool AddIOHook(int port, Module* iomod);
        bool DelIOHook(int port);
+
+       static std::string GetFullProgDir(char** argv, int argc);
+       static bool DirValid(const char* dirandfile);
+       static char* CleanFilename(char* name);
+       static bool FileExists(const char* file);
+       
 };
 
 bool InitializeDisabledCommands(const char* data, InspIRCd* ServerInstance);