X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_channel%2Fcore_channel.h;h=19a98482767e84f7ad015e8940306b8532287c80;hb=dcd3438011d59aa4de4df64abf06bca1cbf36859;hp=d3adbc9c9dcdf11c1f42e4560b0cd012361bad64;hpb=6fe1f4e1136f2ab95a88e68af1894bf6002d03f4;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 d3adbc9c9..19a984827 100644 --- a/src/coremods/core_channel/core_channel.h +++ b/src/coremods/core_channel/core_channel.h @@ -20,15 +20,28 @@ #pragma once #include "inspircd.h" +#include "modules/exemption.h" + +namespace Topic +{ + void ShowTopic(LocalUser* user, Channel* chan); +} + +namespace Invite +{ + class APIImpl; +} /** Handle /INVITE. */ class CommandInvite : public Command { + Invite::APIImpl& invapi; + public: /** Constructor for invite. */ - CommandInvite (Module* parent); + CommandInvite(Module* parent, Invite::APIImpl& invapiimpl); /** Handle command. * @param parameters The parameters to the command @@ -60,6 +73,7 @@ class CommandJoin : public SplitCommand */ class CommandTopic : public SplitCommand { + CheckExemption::EventProvider exemptionprov; ChanModeReference secretmode; ChanModeReference topiclockmode; @@ -78,9 +92,11 @@ class CommandTopic : public SplitCommand /** Handle /NAMES. */ -class CommandNames : public Command +class CommandNames : public SplitCommand { ChanModeReference secretmode; + ChanModeReference privatemode; + UserModeReference invisiblemode; public: /** Constructor for names. @@ -92,7 +108,14 @@ class CommandNames : 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); + CmdResult HandleLocal(const std::vector& parameters, LocalUser* user); + + /** Spool the NAMES list for a given channel to the given user + * @param user User to spool the NAMES list to + * @param chan Channel whose nicklist to send + * @param show_invisible True to show invisible (+i) members to the user, false to omit them from the list + */ + void SendNames(LocalUser* user, Channel* chan, bool show_invisible); }; /** Handle /KICK.