]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/configreader.h
Patch turning Config->sid from size_t to char **. This also undoes the total fuckery...
[user/henk/code/inspircd.git] / include / configreader.h
index eed74f10a9b964eb79aa6cd645277019fc266b79..05194fbeac9badb07a99884304ffe76a20055262 100644 (file)
@@ -232,11 +232,11 @@ class CoreExport ServerConfig : public Extensible
         * configutation, appending errors to errorstream
         * and setting error if an error has occured.
         */
-       bool ParseLine(ConfigDataHash &target, std::string &line, long &linenumber, std::ostringstream &errorstream, int pass);
+       bool ParseLine(ConfigDataHash &target, std::string &line, long &linenumber, std::ostringstream &errorstream, int pass, std::istream* scan_for_includes_only);
   
        /** Process an include directive
         */
-       bool DoInclude(ConfigDataHash &target, const std::string &file, std::ostringstream &errorstream, int pass);
+       bool DoInclude(ConfigDataHash &target, const std::string &file, std::ostringstream &errorstream, int pass, std::istream* scan_for_includes_only);
 
        /** Check that there is only one of each configuration item
         */
@@ -244,8 +244,14 @@ class CoreExport ServerConfig : public Extensible
 
  public:
 
+       std::ostringstream errstr;
+
+       ConfigDataHash newconfig;
+
        std::map<std::string, std::istream*> IncludedFiles;
 
+       std::map<std::string, bool> CompletedFiles;
+
        size_t TotalDownloaded;
        size_t FileErrors;
 
@@ -257,9 +263,7 @@ class CoreExport ServerConfig : public Extensible
 
        InspIRCd* GetInstance();
 
-       bool Downloading();
-
-       void StartDownloads();
+       void DoDownloads();
          
        /** This holds all the information in the config file,
         * it's indexed by tag name to a vector of key/values.
@@ -609,7 +613,7 @@ class CoreExport ServerConfig : public Extensible
         * makes code simpler. 0AA, 1BB etc with letters are reserved
         * for services use.
         */
-       int sid;
+       char sid[MAXBUF];
 
        /** Construct a new ServerConfig
         */
@@ -652,12 +656,12 @@ class CoreExport ServerConfig : public Extensible
        /** Load 'filename' into 'target', with the new config parser everything is parsed into
         * tag/key/value at load-time rather than at read-value time.
         */
-       bool LoadConf(ConfigDataHash &target, const char* filename, std::ostringstream &errorstream, int pass);
+       bool LoadConf(ConfigDataHash &target, const char* filename, std::ostringstream &errorstream, int pass, std::istream* scan_for_includs_only);
 
        /** Load 'filename' into 'target', with the new config parser everything is parsed into
         * tag/key/value at load-time rather than at read-value time.
         */
-       bool LoadConf(ConfigDataHash &target, const std::string &filename, std::ostringstream &errorstream, int pass);
+       bool LoadConf(ConfigDataHash &target, const std::string &filename, std::ostringstream &errorstream, int pass, std::istream* scan_for_includs_only = NULL);
        
        /* Both these return true if the value existed or false otherwise */