X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fcommands.cpp;h=c5b34c72f0e655d3c8a64e557c75252e5141ace1;hb=be0c809590635fc53fa11ca05ba974699b9ec1b6;hp=c72a5dc73b09a11255839dca6811508656f95d44;hpb=3a3ff949670c61a4a8856e1391222e156eb1cd17;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/commands.cpp b/src/commands.cpp index c72a5dc73..c5b34c72f 100644 --- a/src/commands.cpp +++ b/src/commands.cpp @@ -23,29 +23,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; }