From 89bc1282b9e1e2bf9eccacae8f1dc2b5f9ade9b7 Mon Sep 17 00:00:00 2001 From: brain Date: Wed, 25 Jul 2007 17:21:30 +0000 Subject: [PATCH] Turn IsIdent into a functor git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7568 e03df62e-2008-0410-955e-edbf42e46eb7 --- include/inspircd.h | 15 +++++++++++++-- src/helperfuncs.cpp | 2 +- src/inspircd.cpp | 5 ++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/include/inspircd.h b/include/inspircd.h index ba6c2b174..c2ea3f048 100644 --- a/include/inspircd.h +++ b/include/inspircd.h @@ -248,6 +248,15 @@ class CoreExport IsNickHandler : public HandlerBase1 virtual bool Call(const char*); }; +class CoreExport IsIdentHandler : public HandlerBase1 +{ + InspIRCd* Server; + public: + IsIdentHandler(InspIRCd* Srv) : Server(Srv) { } + virtual ~IsIdentHandler() { } + virtual bool Call(const char*); +}; + /* Forward declaration - required */ class XLineManager; @@ -389,7 +398,9 @@ class CoreExport InspIRCd : public classbase /**** 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. @@ -868,7 +879,7 @@ class CoreExport InspIRCd : public classbase * @param An ident to verify * @return True if the ident is valid */ - bool IsIdent(const char* n); + caller1 IsIdent; /** Find a username by their file descriptor. * It is preferred to use this over directly accessing the fd_ref_table array. diff --git a/src/helperfuncs.cpp b/src/helperfuncs.cpp index 8e6627d1f..b5b2a095b 100644 --- a/src/helperfuncs.cpp +++ b/src/helperfuncs.cpp @@ -418,7 +418,7 @@ bool IsNickHandler::Call(const char* n) } /* return true for good ident, false else */ -bool InspIRCd::IsIdent(const char* n) +bool IsIdentHandler::Call(const char* n) { if (!n || !*n) return false; diff --git a/src/inspircd.cpp b/src/inspircd.cpp index 09f1e8685..dea2f0a58 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -394,7 +394,10 @@ void InspIRCd::WritePID(const std::string &filename) 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; -- 2.39.5