X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_channel%2Fcore_channel.h;h=26b23c3ea5a5c2c93fed9e02a54ba97e40bcc762;hb=78db7544d26cdeffeb2bd8045529fe90bd5d852d;hp=e59b2cdbdd82801ffa8559980af55349224f3993;hpb=124c17e14134a4999afc1a5e981ab7c75b3694b9;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_channel/core_channel.h b/src/coremods/core_channel/core_channel.h index e59b2cdbd..26b23c3ea 100644 --- a/src/coremods/core_channel/core_channel.h +++ b/src/coremods/core_channel/core_channel.h @@ -1,10 +1,8 @@ /* * InspIRCd -- Internet Relay Chat Daemon * - * Copyright (C) 2014 Attila Molnar - * Copyright (C) 2008 Robin Burchell - * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2006 Craig Edwards + * Copyright (C) 2017-2020 Sadie Powell + * Copyright (C) 2014-2015 Attila Molnar * * This file is part of InspIRCd. InspIRCd is free software: you can * redistribute it and/or modify it under the terms of the GNU General Public @@ -52,6 +50,14 @@ namespace Invite }; } +enum +{ + // From RFC 1459. + RPL_BANLIST = 367, + RPL_ENDOFBANLIST = 368, + ERR_KEYSET = 467 +}; + /** Handle /INVITE. */ class CommandInvite : public Command @@ -70,8 +76,8 @@ class CommandInvite : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user) CXX11_OVERRIDE; - RouteDescriptor GetRouting(User* user, const std::vector& parameters) CXX11_OVERRIDE; + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; + RouteDescriptor GetRouting(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /JOIN. @@ -88,7 +94,7 @@ class CommandJoin : public SplitCommand * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult HandleLocal(const std::vector& parameters, LocalUser* user) CXX11_OVERRIDE; + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /TOPIC. @@ -109,16 +115,18 @@ class CommandTopic : public SplitCommand * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult HandleLocal(const std::vector& parameters, LocalUser* user) CXX11_OVERRIDE; + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE; }; /** Handle /NAMES. */ class CommandNames : public SplitCommand { + private: ChanModeReference secretmode; ChanModeReference privatemode; UserModeReference invisiblemode; + Events::ModuleEventProvider namesevprov; public: /** Constructor for names. @@ -130,7 +138,7 @@ class CommandNames : public SplitCommand * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult HandleLocal(const std::vector& parameters, LocalUser* user) CXX11_OVERRIDE; + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE; /** Spool the NAMES list for a given channel to the given user * @param user User to spool the NAMES list to @@ -154,8 +162,8 @@ class CommandKick : public Command * @param user The user issuing the command * @return A value from CmdResult to indicate command success or failure. */ - CmdResult Handle(const std::vector& parameters, User* user) CXX11_OVERRIDE; - RouteDescriptor GetRouting(User* user, const std::vector& parameters) CXX11_OVERRIDE; + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; + RouteDescriptor GetRouting(User* user, const Params& parameters) CXX11_OVERRIDE; }; /** Channel mode +b @@ -164,8 +172,9 @@ class ModeChannelBan : public ListModeBase { public: ModeChannelBan(Module* Creator) - : ListModeBase(Creator, "ban", 'b', "End of channel ban list", 367, 368, true, "maxbans") + : ListModeBase(Creator, "ban", 'b', "End of channel ban list", RPL_BANLIST, RPL_ENDOFBANLIST, true) { + syntax = ""; } }; @@ -179,6 +188,7 @@ class ModeChannelKey : public ParamMode ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string& parameter, bool adding) CXX11_OVERRIDE; void SerializeParam(Channel* chan, const std::string* key, std::string& out) ; ModeAction OnSet(User* source, Channel* chan, std::string& param) CXX11_OVERRIDE; + bool IsParameterSecret() CXX11_OVERRIDE; }; /** Channel mode +l