]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/configreader.h
Probably doesnt run
[user/henk/code/inspircd.git] / include / configreader.h
index babb3511ce4bfddb40e475b452b73183404ec59c..d8fa3b418075c7d2977167aa958a18074998e582 100644 (file)
@@ -2,7 +2,7 @@
  *       | Inspire Internet Relay Chat Daemon |
  *       +------------------------------------+
  *
- *  InspIRCd: (C) 2002-2007 InspIRCd Development Team
+ *  InspIRCd: (C) 2002-2008 InspIRCd Development Team
  * See: http://www.inspircd.org/wiki/index.php/Credits
  *
  * This program is free but copyrighted software; see
@@ -68,10 +68,8 @@ class ValueItem
        /** Initialize with a bool */
        ValueItem(bool value);
        /** Initialize with a char pointer */
-       ValueItem(char* value);
+       ValueItem(const char* value);
        /** Change value to a char pointer */
-       void Set(char* value);
-       /** Change value to a const char pointer */
        void Set(const char* val);
        /** Change value to an int */
        void Set(int value);
@@ -166,11 +164,11 @@ typedef bool (*MultiNotify)(ServerConfig* conf, const char*);
 struct InitialConfig
 {
        /** Tag name */
-       char* tag;
+       const char* tag;
        /** Value name */
-       char* value;
+       const char* value;
        /** Default, if not defined */
-       char* default_value;
+       const char* default_value;
        /** Value containers */
        ValueContainerBase* val;
        /** Data types */
@@ -187,11 +185,11 @@ struct MultiConfig
        /** Tag name */
        const char*     tag;
        /** One or more items within tag */
-       char*           items[17];
+       const char*     items[18];
        /** One or more defaults for items within tags */
-       char*           items_default[17];
+       const char* items_default[18];
        /** One or more data types */
-       int             datatype[17];
+       int             datatype[18];
        /** Initialization function */
        MultiNotify     init_function;
        /** Validation function */
@@ -240,7 +238,7 @@ class CoreExport ServerConfig : public Extensible
 
        /** Check that there is only one of each configuration item
         */
-       bool CheckOnce(char* tag);
+       bool CheckOnce(const char* tag);
 
  public:
 
@@ -263,7 +261,7 @@ class CoreExport ServerConfig : public Extensible
 
        InspIRCd* GetInstance();
 
-       void DoDownloads();
+       int DoDownloads();
          
        /** This holds all the information in the config file,
         * it's indexed by tag name to a vector of key/values.
@@ -326,6 +324,10 @@ class CoreExport ServerConfig : public Extensible
         */
        char restartpass[MAXBUF];
 
+       /** The hash method for *BOTH* the die and restart passwords.
+        */
+       char powerhash[MAXBUF];
+
        /** The pathname and filename of the message of the
         * day file, as defined by the administrator.
         */
@@ -348,6 +350,18 @@ class CoreExport ServerConfig : public Extensible
         */
        char FixedQuit[MAXBUF];
 
+       /** The part prefix in use, or an empty string
+        */
+       char PrefixPart[MAXBUF];
+
+       /** The part suffix in use, or an empty string
+        */
+       char SuffixPart[MAXBUF];
+
+       /** The fixed part message in use, or an empty string
+        */
+       char FixedPart[MAXBUF];
+
        /** The last string found within a <die> tag, or
         * an empty string.
         */
@@ -613,7 +627,12 @@ class CoreExport ServerConfig : public Extensible
         * makes code simpler. 0AA, 1BB etc with letters are reserved
         * for services use.
         */
-       int sid;
+       char sid[MAXBUF];
+
+       /** True if we have been told to run the testsuite from the commandline,
+        * rather than entering the mainloop.
+        */
+       bool TestSuite;
 
        /** Construct a new ServerConfig
         */
@@ -649,7 +668,7 @@ class CoreExport ServerConfig : public Extensible
         * @param bail If this is set to true, the error is sent to the console, and the program exits
         * @param user If this is set to a non-null value, and bail is false, the errors are spooled to
         * this user as SNOTICEs.
-        * If the parameter is NULL, the messages are spooled to all users via WriteOpers as SNOTICEs.
+        * If the parameter is NULL, the messages are spooled to all opers.
         */
        void ReportConfigError(const std::string &errormessage, bool bail, User* user);