#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.
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
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;
*/
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
*/
*/
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();