From 12a4c456841cdaec524de3bb1eef2cb4f0c463d9 Mon Sep 17 00:00:00 2001 From: Danny van Heumen Date: Sun, 17 Aug 2014 21:41:00 +0200 Subject: [PATCH] Added markers for future work w.r.t. Away-support. --- .../communicator/impl/protocol/irc/IrcStack.java | 3 +++ .../irc/OperationSetPersistentPresenceIrcImpl.java | 4 +++- .../impl/protocol/irc/PresenceManager.java | 13 +++++++++++++ 3 files changed, 19 insertions(+), 1 deletion(-) diff --git a/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java b/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java index 37b1abd56..258b36971 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/IrcStack.java @@ -2230,6 +2230,9 @@ public void onServerNumericMessage(final ServerNumericMessage msg) switch (msg.getNumericCode()) { case RPL_LISTSTART: + // TODO According to RFC2812 this message is obsolete and not in + // use anymore. Shouldn't be much of a problem, since we usually + // start with an empty list though. synchronized (this.signal) { this.signal.getValue().clear(); diff --git a/src/net/java/sip/communicator/impl/protocol/irc/OperationSetPersistentPresenceIrcImpl.java b/src/net/java/sip/communicator/impl/protocol/irc/OperationSetPersistentPresenceIrcImpl.java index f6f9bfbb0..3e2baddb9 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/OperationSetPersistentPresenceIrcImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/OperationSetPersistentPresenceIrcImpl.java @@ -346,6 +346,7 @@ else if (status.getStatus() >= IrcStatusEnum.AWAY_THRESHOLD) final String awayMessage; if (statusMessage == null || statusMessage.isEmpty()) { + // FIXME replace with entry for default away message? awayMessage = IrcActivator.getResources().getI18NString( "service.gui.AWAY_STATUS"); @@ -358,7 +359,8 @@ else if (status.getStatus() >= IrcStatusEnum.AWAY_THRESHOLD) } else { - // FIXME How to behave for status OFFLINE? + // There's nothing to do in case of OFFLINE, since the whole account + // will be unregistered. } } diff --git a/src/net/java/sip/communicator/impl/protocol/irc/PresenceManager.java b/src/net/java/sip/communicator/impl/protocol/irc/PresenceManager.java index 8de649d2d..49b72ff9e 100644 --- a/src/net/java/sip/communicator/impl/protocol/irc/PresenceManager.java +++ b/src/net/java/sip/communicator/impl/protocol/irc/PresenceManager.java @@ -16,6 +16,13 @@ /** * Manager for presence status of IRC connection. * + * TODO Support for 'a' (Away) user mode. (Check this again, since I also see + * 'a' used for other purposes. This may be one of those ambiguous letters that + * every server interprets differently.) + * + * FIXME Verify implementation of AWAY status message (auto-answering by + * server). + * * @author Danny van Heumen */ public class PresenceManager @@ -153,6 +160,9 @@ private PresenceListener() { } + /** + * Handle events for presence-related server replies. + */ @Override public void onServerNumericMessage(final ServerNumericMessage msg) { @@ -184,6 +194,9 @@ public void onServerNumericMessage(final ServerNumericMessage msg) } } + /** + * In case the user quits, remove the presence listener. + */ @Override public void onUserQuit(final QuitMessage msg) {