From 89f72a4d63c6868ac3c191197f37e08341b8bc16 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Tue, 2 Mar 2010 12:04:53 -0600 Subject: Create OnChannelPermissionCheck hook --- src/modules.cpp | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) (limited to 'src/modules.cpp') diff --git a/src/modules.cpp b/src/modules.cpp index dca616a93..127a8123c 100644 --- a/src/modules.cpp +++ b/src/modules.cpp @@ -79,7 +79,6 @@ void Module::OnUserDisconnect(LocalUser*) { } void Module::OnUserJoin(Membership*, bool, bool, CUList&) { } void Module::OnPostJoin(Membership*) { } void Module::OnUserPart(Membership*, std::string&, CUList&) { } -void Module::OnPreRehash(User*, const std::string&) { } void Module::OnModuleRehash(User*, const std::string&) { } void Module::OnRehash(User*) { } ModResult Module::OnUserPreJoin(User*, Channel*, const char*, std::string&, const std::string&) { return MOD_RES_PASSTHRU; } @@ -88,7 +87,6 @@ void Module::OnOper(User*, const std::string&) { } void Module::OnPostOper(User*, const std::string&, const std::string &) { } void Module::OnInfo(User*) { } void Module::OnWhois(User*, User*) { } -ModResult Module::OnUserPreInvite(User*, User*, Channel*, time_t) { return MOD_RES_PASSTHRU; } ModResult Module::OnUserPreMessage(User*, void*, int, std::string&, char, CUList&) { return MOD_RES_PASSTHRU; } ModResult Module::OnUserPreNotice(User*, void*, int, std::string&, char, CUList&) { return MOD_RES_PASSTHRU; } ModResult Module::OnUserPreNick(User*, const std::string&) { return MOD_RES_PASSTHRU; } @@ -104,7 +102,6 @@ void Module::OnPostCommand(const std::string&, const std::vector&, void Module::OnUserInit(LocalUser*) { } ModResult Module::OnCheckReady(LocalUser*) { return MOD_RES_PASSTHRU; } void Module::OnUserRegister(LocalUser*) { } -ModResult Module::OnUserPreKick(User*, Membership*, const std::string&) { return MOD_RES_PASSTHRU; } void Module::OnUserKick(User*, Membership*, const std::string&, CUList&) { } ModResult Module::OnRawMode(User*, Channel*, irc::modechange&) { return MOD_RES_PASSTHRU; } ModResult Module::OnCheckInvite(User*, Channel*) { return MOD_RES_PASSTHRU; } @@ -116,7 +113,6 @@ ModResult Module::OnExtBanCheck(User*, Channel*, char) { return MOD_RES_PASSTHRU ModResult Module::OnStats(char, User*, string_list&) { return MOD_RES_PASSTHRU; } ModResult Module::OnChangeLocalUserHost(LocalUser*, const std::string&) { return MOD_RES_PASSTHRU; } ModResult Module::OnChangeLocalUserGECOS(LocalUser*, const std::string&) { return MOD_RES_PASSTHRU; } -ModResult Module::OnPreTopicChange(User*, Channel*, const std::string&) { return MOD_RES_PASSTHRU; } void Module::OnEvent(Event&) { } void Module::OnRequest(Request&) { } ModResult Module::OnPassCompare(Extensible* ex, const std::string &password, const std::string &input, const std::string& hashtype) { return MOD_RES_PASSTHRU; } @@ -134,6 +130,7 @@ void Module::OnSyncUser(User*, SyncTarget*) { } void Module::OnSyncChannel(Channel*, SyncTarget*) { } void Module::OnSyncNetwork(SyncTarget*) { } void Module::OnDecodeMetaData(Extensible*, const std::string&, const std::string&) { } +void Module::OnChannelPermissionCheck(User*, Channel*, PermissionData&) { } void Module::OnWallops(User*, const std::string&) { } void Module::OnChangeHost(User*, const std::string&) { } void Module::OnChangeName(User*, const std::string&) { } @@ -507,6 +504,18 @@ dynamic_reference_base::operator bool() return value; } +void PermissionData::SetReason(const char* format, ...) +{ + va_list argsPtr; + char textbuffer[MAXBUF]; + + va_start(argsPtr, format); + vsnprintf(textbuffer, MAXBUF, format, argsPtr); + va_end(argsPtr); + + reason = textbuffer; +} + void InspIRCd::SendMode(const std::vector& parameters, User *src) { Extensible* target; -- cgit v1.3.1-10-gc9f91