virtual bool Call(const char*);
};
+class CoreExport IsIdentHandler : public HandlerBase1<bool, const char*>
+{
+ InspIRCd* Server;
+ public:
+ IsIdentHandler(InspIRCd* Srv) : Server(Srv) { }
+ virtual ~IsIdentHandler() { }
+ virtual bool Call(const char*);
+};
+
/* Forward declaration - required */
class XLineManager;
/**** Functors ****/
- IsNickHandler HandleIsNick;
+ IsNickHandler HandleIsNick;
+
+ IsIdentHandler HandleIsIdent;
/** InspSocket classes pending deletion after being closed.
* We don't delete these immediately as this may cause a segmentation fault.
* @param An ident to verify
* @return True if the ident is valid
*/
- bool IsIdent(const char* n);
+ caller1<bool, const char*> IsIdent;
/** Find a username by their file descriptor.
* It is preferred to use this over directly accessing the fd_ref_table array.
}
/* return true for good ident, false else */
-bool InspIRCd::IsIdent(const char* n)
+bool IsIdentHandler::Call(const char* n)
{
if (!n || !*n)
return false;
InspIRCd::InspIRCd(int argc, char** argv)
: ModCount(0),
GlobalCulls(this),
- HandleIsNick(this), IsNick(&HandleIsNick)
+ HandleIsNick(this),
+ HandleIsIdent(this),
+ IsNick(&HandleIsNick),
+ IsIdent(&HandleIsIdent)
{
int found_ports = 0;
FailedPortList pl;