]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
Move fd_ref_table into class InspIRCd*
[user/henk/code/inspircd.git] / include / inspircd.h
index 8e75c256c91479a57b6fa7b567b01b97fa2e63e2..a8ef3bf1dcbad01e93ca7efa1a3be119031bc341 100644 (file)
@@ -43,7 +43,7 @@
  */
 #define IS_SINGLE(x,y) ( (*x == y) && (*(x+1) == 0) )
 
-#define DELETE(x) { do_log(DEBUG,"%s:%d: delete()",__FILE__,__LINE__); if (x) { delete x; x = NULL; } else log(DEBUG,"Attempt to delete NULL pointer!"); }
+#define DELETE(x) { InspIRCd::Log(DEBUG,"%s:%d: delete()",__FILE__,__LINE__); if (x) { delete x; x = NULL; } else InspIRCd::Log(DEBUG,"Attempt to delete NULL pointer!"); }
 
 template<typename T> inline std::string ConvToStr(const T &in)
 {
@@ -89,7 +89,7 @@ class InspIRCd : public classbase
        void BuildISupport();
        void MoveTo(std::string modulename,int slot);
        void Start();
-       void SetSignals();
+       void SetSignals(bool SEGVHandler);
        bool DaemonSeed();
        void MakeLowerMap();
        void MoveToLast(std::string modulename);
@@ -97,12 +97,21 @@ class InspIRCd : public classbase
        void MoveAfter(std::string modulename, std::string after);
        void MoveBefore(std::string modulename, std::string before);
 
+       void ProcessUser(userrec* cu);
+       void DoSocketTimeouts(time_t TIME);
+       void DoBackgroundUserStuff(time_t TIME);
+
  public:
        time_t startup_time;
        ModeParser* ModeGrok;
        CommandParser* Parser;
        SocketEngine* SE;
        serverstats* stats;
+       ServerConfig* Config;
+       std::vector<InspSocket*> module_sockets;
+       InspSocket* socket_ref[MAX_DESCRIPTORS];        /* XXX: This should probably be made private, with inline accessors */
+       userrec* fd_ref_table[MAX_DESCRIPTORS];         /* XXX: Ditto */
+       DNS* Res;
 
        std::string GetRevision();
        std::string GetVersionString();
@@ -112,8 +121,9 @@ class InspIRCd : public classbase
        bool UnloadModule(const char* filename);
        InspIRCd(int argc, char** argv);
        void DoOneIteration(bool process_module_sockets);
+       static void Log(int level, const char* text, ...);
+       static void Log(int level, const std::string &text);
        int Run();
-
 };
 
 /* Miscellaneous stuff here, moved from inspircd_io.h */