summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/configreader.h12
-rw-r--r--include/helperfuncs.h17
-rw-r--r--include/modules.h4
-rw-r--r--include/users.h11
-rw-r--r--include/xline.h14
5 files changed, 32 insertions, 26 deletions
diff --git a/include/configreader.h b/include/configreader.h
index e2ff1c2c9..79384c2db 100644
--- a/include/configreader.h
+++ b/include/configreader.h
@@ -26,9 +26,11 @@
#include "globals.h"
#include "modules.h"
-typedef bool (*Validator)(const char*, const char*, void*);
-typedef bool (*MultiValidator)(const char*, char**, void**, int*);
-typedef bool (*MultiNotify)(const char*);
+class ServerConfig;
+
+typedef bool (*Validator)(ServerConfig* conf, const char*, const char*, void*);
+typedef bool (*MultiValidator)(ServerConfig* conf, const char*, char**, void**, int*);
+typedef bool (*MultiNotify)(ServerConfig* conf, const char*);
enum ConfigDataType { DT_NOTHING, DT_INTEGER, DT_CHARPTR, DT_BOOLEAN };
@@ -365,6 +367,10 @@ class ServerConfig : public Extensible
*/
void Read(bool bail, userrec* user);
+ /** Read a file into a file_cache object
+ */
+ bool ReadFile(file_cache &F, const char* fname);
+
/** 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.
*/
diff --git a/include/helperfuncs.h b/include/helperfuncs.h
index 44f9aba49..b4089fa18 100644
--- a/include/helperfuncs.h
+++ b/include/helperfuncs.h
@@ -27,13 +27,16 @@
#include <deque>
#include <sstream>
-/** Flags for use with log()
+/** Debug levels for use with InspIRCd::Log()
*/
-#define DEBUG 10
-#define VERBOSE 20
-#define DEFAULT 30
-#define SPARSE 40
-#define NONE 50
+enum DebugLevel
+{
+ DEBUG = 10,
+ VERBOSE = 20,
+ DEFAULT = 30,
+ SPARSE = 40,
+ NONE = 50,
+};
/* I'm not entirely happy with this, the ## before 'args' is a g++ extension.
* The problem is that if you #define log(l, x, args...) and then call it
@@ -45,8 +48,6 @@
#define STRINGIFY(x) STRINGIFY2(x)
#define log(l, x, args...) InspIRCd::Log(l, __FILE__ ":" STRINGIFY(__LINE__) ": " x, ##args)
-void readfile(file_cache &F, const char* fname);
-
void WriteOpers(const char* text, ...);
void WriteOpers_NoFormat(const char* text);
diff --git a/include/modules.h b/include/modules.h
index f687c9ffe..6104b8715 100644
--- a/include/modules.h
+++ b/include/modules.h
@@ -18,10 +18,6 @@
#ifndef __MODULES_H
#define __MODULES_H
-/** log levels
- */
-enum DebugLevels { DEBUG, VERBOSE, DEFAULT, SPARSE, NONE };
-
/** Used with OnAccessCheck() method of modules
*/
enum AccessControlType {
diff --git a/include/users.h b/include/users.h
index 82da66c19..42d0f7376 100644
--- a/include/users.h
+++ b/include/users.h
@@ -699,10 +699,11 @@ namespace irc
};
/* Configuration callbacks */
-bool InitTypes(const char* tag);
-bool InitClasses(const char* tag);
-bool DoType(const char* tag, char** entries, void** values, int* types);
-bool DoClass(const char* tag, char** entries, void** values, int* types);
-bool DoneClassesAndTypes(const char* tag);
+class ServerConfig;
+bool InitTypes(ServerConfig* conf, const char* tag);
+bool InitClasses(ServerConfig* conf, const char* tag);
+bool DoType(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
+bool DoClass(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
+bool DoneClassesAndTypes(ServerConfig* conf, const char* tag);
#endif
diff --git a/include/xline.h b/include/xline.h
index 740ed395d..b04d2224d 100644
--- a/include/xline.h
+++ b/include/xline.h
@@ -123,13 +123,15 @@ class QLine : public XLine
bool is_global;
};
-bool InitXLine(const char* tag);
-bool DoneXLine(const char* tag);
+class ServerConfig;
-bool DoZLine(const char* tag, char** entries, void** values, int* types);
-bool DoQLine(const char* tag, char** entries, void** values, int* types);
-bool DoKLine(const char* tag, char** entries, void** values, int* types);
-bool DoELine(const char* tag, char** entries, void** values, int* types);
+bool InitXLine(ServerConfig* conf, const char* tag);
+bool DoneXLine(ServerConfig* conf, const char* tag);
+
+bool DoZLine(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
+bool DoQLine(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
+bool DoKLine(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
+bool DoELine(ServerConfig* conf, const char* tag, char** entries, void** values, int* types);
bool add_gline(long duration, const char* source, const char* reason, const char* hostmask);
bool add_qline(long duration, const char* source, const char* reason, const char* nickname);