From 6548cbe894f1dae775c2523066ccd991ff117a15 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Tue, 9 Mar 2010 23:14:02 +0100 Subject: [PATCH] Implemented command: /echo --- src/org/yaaic/command/CommandParser.java | 1 + src/org/yaaic/command/EchoCommand.java | 65 ++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 src/org/yaaic/command/EchoCommand.java diff --git a/src/org/yaaic/command/CommandParser.java b/src/org/yaaic/command/CommandParser.java index 5273b25..86ae6eb 100644 --- a/src/org/yaaic/command/CommandParser.java +++ b/src/org/yaaic/command/CommandParser.java @@ -53,6 +53,7 @@ public class CommandParser commands.put("join", new JoinCommand()); commands.put("me", new MeCommand()); commands.put("names", new NamesCommand()); + commands.put("echo", new EchoCommand()); } /** diff --git a/src/org/yaaic/command/EchoCommand.java b/src/org/yaaic/command/EchoCommand.java new file mode 100644 index 0000000..fc7aa4c --- /dev/null +++ b/src/org/yaaic/command/EchoCommand.java @@ -0,0 +1,65 @@ +/* + Yaaic - Yet Another Android IRC Client + +Copyright 2009 Sebastian Kaspari + +This file is part of Yaaic. + +Yaaic is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 3 of the License, or +(at your option) any later version. + +Yaaic is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with Yaaic. If not, see . +*/ +package org.yaaic.command; + +import org.yaaic.irc.IRCService; +import org.yaaic.model.Broadcast; +import org.yaaic.model.Channel; +import org.yaaic.model.Message; +import org.yaaic.model.Server; + +import android.content.Intent; + +/** + * Command: /echo + * + * @author Sebastian Kaspari + */ +public class EchoCommand extends BaseCommand +{ + /** + * Execute /echo + */ + @Override + public void execute(String[] params, Server server, Channel channel, IRCService service) throws CommandException + { + if (params.length > 1) { + Message message = new Message(BaseCommand.mergeParams(params)); + channel.addMessage(message); + + Intent intent = new Intent(Broadcast.CHANNEL_MESSAGE); + intent.putExtra(Broadcast.EXTRA_SERVER, server.getId()); + intent.putExtra(Broadcast.EXTRA_CHANNEL, channel.getName()); + service.sendBroadcast(intent); + } else { + throw new CommandException("Text is missing"); + } + } + + /** + * Usage of /echo + */ + @Override + public String getUsage() + { + return "/echo "; + } +}