X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands.cpp;h=d4f380272ee32876abba01c2a28cfd3f93a8d912;hb=c299adb31a9866a50eff7779c7ba513095a79feb;hp=c72a5dc73b09a11255839dca6811508656f95d44;hpb=3a3ff949670c61a4a8856e1391222e156eb1cd17;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands.cpp b/src/commands.cpp index c72a5dc73..d4f380272 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -1,11 +1,12 @@ /* * InspIRCd -- Internet Relay Chat Daemon * + * Copyright (C) 2018 Sadie Powell + * Copyright (C) 2012 Robby + * Copyright (C) 2009 Robin Burchell * Copyright (C) 2009 Daniel De Graaf * Copyright (C) 2007 Dennis Friis - * Copyright (C) 2004-2007 Craig Edwards - * Copyright (C) 2006 Oliver Lupton - * Copyright (C) 2005 Craig McLure + * Copyright (C) 2006, 2010 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 @@ -23,29 +24,36 @@ #include "inspircd.h" -CmdResult SplitCommand::Handle(const std::vector& parms, User* u) +CmdResult SplitCommand::Handle(User* user, const Params& parameters) { - if (IS_LOCAL(u)) - return HandleLocal(parms, IS_LOCAL(u)); - if (IS_REMOTE(u)) - return HandleRemote(parms, IS_REMOTE(u)); - if (IS_SERVER(u)) - return HandleServer(parms, IS_SERVER(u)); - ServerInstance->Logs->Log("COMMAND", LOG_DEFAULT, "Unknown user type in command (uuid=%s)!", u->uuid.c_str()); + switch (user->usertype) + { + case USERTYPE_LOCAL: + return HandleLocal(static_cast(user), parameters); + + case USERTYPE_REMOTE: + return HandleRemote(static_cast(user), parameters); + + case USERTYPE_SERVER: + return HandleServer(static_cast(user), parameters); + } + + ServerInstance->Logs->Log("COMMAND", LOG_DEFAULT, "Unknown user type %d in command (uuid=%s)!", + user->usertype, user->uuid.c_str()); return CMD_INVALID; } -CmdResult SplitCommand::HandleLocal(const std::vector&, LocalUser*) +CmdResult SplitCommand::HandleLocal(LocalUser* user, const Params& parameters) { return CMD_INVALID; } -CmdResult SplitCommand::HandleRemote(const std::vector&, RemoteUser*) +CmdResult SplitCommand::HandleRemote(RemoteUser* user, const Params& parameters) { return CMD_INVALID; } -CmdResult SplitCommand::HandleServer(const std::vector&, FakeUser*) +CmdResult SplitCommand::HandleServer(FakeUser* user, const Params& parameters) { return CMD_INVALID; }