X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_channel%2Fcore_channel.h;h=0dafde8cbcf278c001b5852a31482ec7ec94560e;hb=c0aba5b728b0a921d95ec120aa638dab1520b42f;hp=d3adbc9c9dcdf11c1f42e4560b0cd012361bad64;hpb=34f1ef3c9b2a50bbeb3c97eb9f4d5e07895e27db;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..0dafde8cb 100644 --- a/src/coremods/core_channel/core_channel.h +++ b/src/coremods/core_channel/core_channel.h @@ -21,14 +21,26 @@ #include "inspircd.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 @@ -78,9 +90,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 +106,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.