From d33a0f75a5c0c584fbb7cc0076da36d494f39494 Mon Sep 17 00:00:00 2001 From: Adam Date: Thu, 22 Nov 2012 00:50:33 -0500 Subject: Pretty large coding style cleanup, in source doc cleanup, and allow protocol mods to depend on each other --- src/command.cpp | 31 ++++++++++++++++++------------- 1 file changed, 18 insertions(+), 13 deletions(-) (limited to 'src/command.cpp') diff --git a/src/command.cpp b/src/command.cpp index 6ae9275ca..92991e38b 100644 --- a/src/command.cpp +++ b/src/command.cpp @@ -1,13 +1,14 @@ /* + * * Copyright (C) 2008-2011 Robin Burchell * Copyright (C) 2008-2012 Anope Team * * Please read COPYING and README for further details. + * */ #include "services.h" #include "commands.h" -#include "extern.h" #include "users.h" #include "language.h" #include "config.h" @@ -17,6 +18,9 @@ #include "regchannel.h" #include "channels.h" +static const Anope::string CommandFlagString[] = { "CFLAG_ALLOW_UNREGISTERED", "CFLAG_STRIP_CHANNEL", "" }; +template<> const Anope::string* Flags::flags_strings = CommandFlagString; + CommandSource::CommandSource(const Anope::string &n, User *user, NickCore *core, CommandReply *r, BotInfo *bi) : nick(n), u(user), nc(core), reply(r), c(NULL), service(bi) { @@ -97,7 +101,7 @@ void CommandSource::Reply(const char *message, ...) va_list args; char buf[4096]; // Messages can be really big. - const char *translated_message = translate(this->nc, message); + const char *translated_message = Language::Translate(this->nc, message); va_start(args, message); vsnprintf(buf, sizeof(buf), translated_message, args); @@ -109,7 +113,7 @@ void CommandSource::Reply(const char *message, ...) void CommandSource::Reply(const Anope::string &message) { - const char *translated_message = translate(this->nc, message.c_str()); + const char *translated_message = Language::Translate(this->nc, message.c_str()); sepstream sep(translated_message, '\n'); Anope::string tok; @@ -117,7 +121,7 @@ void CommandSource::Reply(const Anope::string &message) this->reply->SendMessage(this->service, tok); } -Command::Command(Module *o, const Anope::string &sname, size_t min_params, size_t max_params) : Service(o, "Command", sname), Flags(CommandFlagStrings), MaxParams(max_params), MinParams(min_params), module(owner) +Command::Command(Module *o, const Anope::string &sname, size_t minparams, size_t maxparams) : Service(o, "Command", sname), max_params(maxparams), min_params(minparams), module(owner) { } @@ -163,7 +167,7 @@ const Anope::string &Command::GetDesc() const void Command::OnServHelp(CommandSource &source) { - source.Reply(" %-14s %s", source.command.c_str(), translate(source.nc, (this->GetDesc().c_str()))); + source.Reply(" %-14s %s", source.command.c_str(), Language::Translate(source.nc, this->GetDesc().c_str())); } bool Command::OnHelp(CommandSource &source, const Anope::string &subcommand) { return false; } @@ -176,7 +180,8 @@ void Command::OnSyntaxError(CommandSource &source, const Anope::string &subcomma void RunCommand(CommandSource &source, const Anope::string &message) { - std::vector params = BuildStringVector(message); + std::vector params; + spacesepstream(message).GetTokens(params); bool has_help = source.service->commands.find("HELP") != source.service->commands.end(); CommandInfo::map::const_iterator it = source.service->commands.end(); @@ -202,7 +207,7 @@ void RunCommand(CommandSource &source, const Anope::string &message) } const CommandInfo &info = it->second; - service_reference c("Command", info.name); + ServiceReference c("Command", info.name); if (!c) { if (has_help) @@ -225,10 +230,10 @@ void RunCommand(CommandSource &source, const Anope::string &message) for (unsigned i = 0, j = params.size() - (count - 1); i < j; ++i) params.erase(params.begin()); - while (c->MaxParams > 0 && params.size() > c->MaxParams) + while (c->max_params > 0 && params.size() > c->max_params) { - params[c->MaxParams - 1] += " " + params[c->MaxParams]; - params.erase(params.begin() + c->MaxParams); + params[c->max_params - 1] += " " + params[c->max_params]; + params.erase(params.begin() + c->max_params); } source.command = it->first; @@ -239,7 +244,7 @@ void RunCommand(CommandSource &source, const Anope::string &message) if (MOD_RESULT == EVENT_STOP) return; - if (params.size() < c->MinParams) + if (params.size() < c->min_params) { c->OnSyntaxError(source, !params.empty() ? params[params.size() - 1] : ""); return; @@ -255,8 +260,8 @@ void RunCommand(CommandSource &source, const Anope::string &message) } bool had_u = source.GetUser(), had_nc = source.nc; - dynamic_reference user_reference(source.GetUser()); - dynamic_reference nc_reference(source.nc); + Reference user_reference(source.GetUser()); + Reference nc_reference(source.nc); c->Execute(source, params); if (had_u == user_reference && had_nc == nc_reference) { -- cgit