}
};
-DEFINE_HANDLER1(IsNickHandler, bool, const std::string&);
DEFINE_HANDLER2(GenRandomHandler, void, char*, size_t);
DEFINE_HANDLER1(IsIdentHandler, bool, const std::string&);
DEFINE_HANDLER1(IsChannelHandler, bool, const std::string&);
ActionList AtomicActions;
/**** Functors ****/
-
- IsNickHandler HandleIsNick;
IsIdentHandler HandleIsIdent;
IsChannelHandler HandleIsChannel;
GenRandomHandler HandleGenRandom;
static const char* Format(const char* formatString, ...) CUSTOM_PRINTF(1, 2);
static const char* Format(va_list &vaList, const char* formatString) CUSTOM_PRINTF(2, 0);
- /** Return true if a nickname is valid
- * @param n A nickname to verify
- * @return True if the nick is valid
+ /** Determines whether a nickname is valid. */
+ TR1NS::function<bool(const std::string&)> IsNick;
+
+ /** Determines whether a nickname is valid according to the RFC 1459 rules.
+ * This is the default function for InspIRCd::IsNick.
+ * @param nick The nickname to validate.
+ * @return True if the nickname is valid according to RFC 1459 rules; otherwise, false.
*/
- caller1<bool, const std::string&> IsNick;
+ static bool DefaultIsNick(const std::string& nick);
/** Return true if an ident is valid
* @param An ident to verify
#include "inspircd.h"
#include <fstream>
-class lwbNickHandler : public HandlerBase1<bool, const std::string&>
+class lwbNickHandler
{
public:
- bool Call(const std::string&) CXX11_OVERRIDE;
+ static bool Call(const std::string&);
};
/*,m_reverse_additionalUp[256];*/
class ModuleNationalChars : public Module
{
- lwbNickHandler myhandler;
std::string charset;
unsigned char m_additional[256], m_additionalUp[256], m_lower[256], m_upper[256];
- caller1<bool, const std::string&> rememberer;
+ TR1NS::function<bool(const std::string&)> rememberer;
bool forcequit;
const unsigned char * lowermap_rememberer;
unsigned char prev_map[256];
memcpy(m_lower, rfc_case_insensitive_map, 256);
national_case_insensitive_map = m_lower;
- ServerInstance->IsNick = &myhandler;
+ ServerInstance->IsNick = &lwbNickHandler::Call;
}
void ReadConfig(ConfigStatus& status) CXX11_OVERRIDE