From c5dc8115d2d400076412abd52cedbd422ceb22b7 Mon Sep 17 00:00:00 2001 From: Sebastian Kaspari Date: Tue, 9 Mar 2010 23:26:56 +0100 Subject: [PATCH] Implemented command: /topic --- src/org/yaaic/command/CommandParser.java | 1 + src/org/yaaic/command/TopicCommand.java | 59 ++++++++++++++++++++++++ 2 files changed, 60 insertions(+) create mode 100644 src/org/yaaic/command/TopicCommand.java diff --git a/src/org/yaaic/command/CommandParser.java b/src/org/yaaic/command/CommandParser.java index 86ae6eb..8131eda 100644 --- a/src/org/yaaic/command/CommandParser.java +++ b/src/org/yaaic/command/CommandParser.java @@ -54,6 +54,7 @@ public class CommandParser commands.put("me", new MeCommand()); commands.put("names", new NamesCommand()); commands.put("echo", new EchoCommand()); + commands.put("topic", new TopicCommand()); } /** diff --git a/src/org/yaaic/command/TopicCommand.java b/src/org/yaaic/command/TopicCommand.java new file mode 100644 index 0000000..ca3dc31 --- /dev/null +++ b/src/org/yaaic/command/TopicCommand.java @@ -0,0 +1,59 @@ +/* + 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.Channel; +import org.yaaic.model.Server; + +/** + * Command: /topic [] + * + * Show the current topic or change the topic if a new topic is provided + * + * @author Sebastian Kaspari + */ +public class TopicCommand extends BaseCommand +{ + /** + * Execute /topic + */ + @Override + public void execute(String[] params, Server server, Channel channel, IRCService service) + { + if (params.length == 1) { + // Show topic + // XXX: PircBot doesn't save the channel's topic - we have to keep track of the topic in the channel class + } else if (params.length > 1) { + // Change topic + service.getConnection(server.getId()).setTopic(channel.getName(), BaseCommand.mergeParams(params)); + } + } + + /** + * Usage of /topic + */ + @Override + public String getUsage() + { + return "/topic []"; + } +}