class InspIRCd;
+DEFINE_HANDLER1(ProcessUserHandler, void, userrec*);
DEFINE_HANDLER1(IsNickHandler, bool, const char*);
DEFINE_HANDLER1(IsIdentHandler, bool, const char*);
DEFINE_HANDLER1(FindDescriptorHandler, userrec*, int);
+DEFINE_HANDLER1(FloodQuitUserHandler, void, userrec*);
/* Forward declaration - required */
class XLineManager;
*/
int time_delta;
+#ifdef WIN32
+ IPC* WindowsIPC;
+#endif
+
public:
/** Global cull list, will be processed on next iteration
/**** Functors ****/
+ ProcessUserHandler HandleProcessUser;
IsNickHandler HandleIsNick;
IsIdentHandler HandleIsIdent;
FindDescriptorHandler HandleFindDescriptor;
+ FloodQuitUserHandler HandleFloodQuitUser;
/** InspSocket classes pending deletion after being closed.
* We don't delete these immediately as this may cause a segmentation fault.
* @return There is no actual return value, however upon exit, the user 'cu' may have been
* marked for deletion in the global CullList.
*/
- void ProcessUser(userrec* cu);
+ caller1<void, userrec*> ProcessUser;
/** Get the total number of currently loaded modules
* @return The number of loaded modules
* fully registered yet, temporarily zline their IP.
* @param current user to quit
*/
- void FloodQuitUser(userrec* current);
+ caller1<void, userrec*> FloodQuitUser;
/** Restart the server.
* This function will not return. If an error occurs,
* be culled.
*/
void InspSocketCull();
+
+ char* GetReadBuffer()
+ {
+ return this->ReadBuffer;
+ }
};
#endif