]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - include/inspircd.h
Fix memory leak too
[user/henk/code/inspircd.git] / include / inspircd.h
index 4783b2dc150d2961665747ff603d646f3a507bbb..dfc36a720b4b6734639c144daa9ee52f24c6738e 100644 (file)
@@ -25,9 +25,9 @@
 #include "channels.h"
 #include "socket.h"
 #include "mode.h"
-
 #include "socketengine.h"
 #include "command_parse.h"
+#include "snomasks.h"
 
 /** Returned by some functions to indicate failure,
  * and the exit code of the program if it terminates.
@@ -165,14 +165,14 @@ class FileLogger : public EventHandler
        FileLogger(InspIRCd* Instance, FILE* logfile);
        /** This returns false, logfiles are writeable.
         */
-       bool Readable();
+       virtual bool Readable();
        /** Handle pending write events.
         * This will flush any waiting data to disk.
         * If any data remains after the fprintf call,
         * another write event is scheduled to write
         * the rest of the data when possible.
         */
-       void HandleEvent(EventType et);
+       virtual void HandleEvent(EventType et);
        /** Write one or more preformatted log lines.
         * If the data cannot be written immediately,
         * this class will insert itself into the
@@ -183,11 +183,11 @@ class FileLogger : public EventHandler
        void WriteLogLine(const std::string &line);
        /** Close the log file and cancel any events.
         */
-       void Close();
+       virtual void Close();
        /** Close the log file and cancel any events.
         * (indirectly call Close()
         */
-       ~FileLogger();
+       virtual ~FileLogger();
 };
 
 class XLineManager;
@@ -373,9 +373,10 @@ class InspIRCd : public classbase
         */
        ServerConfig* Config;
 
-       /** Module sockets list, holds the active set of InspSocket classes
+       /** Snomask manager - handles routing of snomask messages
+        * to opers.
         */
-       std::vector<InspSocket*> module_sockets;
+       SnomaskManager* SNO;
 
        /** Client list, a hash_map containing all clients, local and remote
         */
@@ -868,21 +869,6 @@ class InspIRCd : public classbase
         */
         bool IsValidMask(const std::string &mask);
 
-       /** Add an InspSocket class to the active set
-        * @param sock A socket to add to the active set
-        */
-        void AddSocket(InspSocket* sock);
-
-       /** Remove an InspSocket class from the active set at next time around the loop
-        * @param sock A socket to remove from the active set
-        */
-        void RemoveSocket(InspSocket* sock);
-
-       /** Delete a socket immediately without waiting for the next iteration of the mainloop
-        * @param sock A socket to delete from the active set
-        */
-        void DelSocket(InspSocket* sock);
-
        /** Rehash the local server
         */
         void RehashServer();