X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcoremods%2Fcore_user%2Fcore_user.h;h=760ed9cf62f921ee6dcbb62e7dc1a54a6cb39943;hb=581d1d8fa0ef62e20409543570390613c78e6f5b;hp=ea28176d4097e9549d0b1511956f2403b19f4f59;hpb=0f2341e76eb54fb38b97305609db9f025331d002;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/coremods/core_user/core_user.h b/src/coremods/core_user/core_user.h index ea28176d4..760ed9cf6 100644 --- a/src/coremods/core_user/core_user.h +++ b/src/coremods/core_user/core_user.h @@ -1,10 +1,8 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2017-2019 Sadie Powell * Copyright (C) 2014 Attila Molnar - * Copyright (C) 2008 Robin Burchell - * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2006 Craig Edwards * * 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 @@ -26,6 +24,12 @@ #include "listmode.h" #include "modules/away.h" +enum +{ + // From RFC 1459. + ERR_NOORIGIN = 409 +}; + class MessageWrapper { std::string prefix; @@ -70,6 +74,28 @@ class CommandAway : public Command RouteDescriptor GetRouting(User* user, const Params& parameters) CXX11_OVERRIDE; }; +/** Handle /ISON. + */ +class CommandIson : public SplitCommand +{ + public: + /** Constructor for ison. + */ + CommandIson(Module* parent) + : SplitCommand(parent, "ISON", 1) + { + allow_empty_last_param = false; + syntax = " []+"; + } + /** Handle command. + * @param parameters The parameters to the command + * @param user The user issuing the command + * @return A value from CmdResult to indicate command success or failure. + */ + CmdResult HandleLocal(LocalUser* user, const Params& parameters) CXX11_OVERRIDE; +}; + + /** Handle /NICK. */ class CommandNick : public SplitCommand @@ -157,6 +183,30 @@ class CommandUser : public SplitCommand static CmdResult CheckRegister(LocalUser* user); }; +/** Handle /USERHOST. + */ +class CommandUserhost : public Command +{ + UserModeReference hideopermode; + + public: + /** Constructor for userhost. + */ + CommandUserhost(Module* parent) + : Command(parent,"USERHOST", 1) + , hideopermode(parent, "hideoper") + { + allow_empty_last_param = false; + syntax = " []+"; + } + /** Handle command. + * @param parameters The parameters to the command + * @param user The user issuing the command + * @return A value from CmdResult to indicate command success or failure. + */ + CmdResult Handle(User* user, const Params& parameters) CXX11_OVERRIDE; +}; + /** User mode +s */ class ModeUserServerNoticeMask : public ModeHandler @@ -173,7 +223,6 @@ class ModeUserServerNoticeMask : public ModeHandler public: ModeUserServerNoticeMask(Module* Creator); ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding) CXX11_OVERRIDE; - void OnParameterMissing(User* user, User* dest, Channel* channel) CXX11_OVERRIDE; /** Create a displayable mode string of the snomasks set on a given user * @param user The user whose notice masks to format