Commit c085d764 authored by Gaston Dombiak's avatar Gaston Dombiak Committed by gato

Tigger presence events of remote users. JM-1121

git-svn-id: http://svn.igniterealtime.org/svn/repos/openfire/trunk@9156 b35dd754-fafc-0310-a699-88a17e54d16e
parent 29c4df04
...@@ -18,6 +18,7 @@ import org.jivesoftware.openfire.interceptor.InterceptorManager; ...@@ -18,6 +18,7 @@ import org.jivesoftware.openfire.interceptor.InterceptorManager;
import org.jivesoftware.openfire.interceptor.PacketRejectedException; import org.jivesoftware.openfire.interceptor.PacketRejectedException;
import org.jivesoftware.openfire.session.ClientSession; import org.jivesoftware.openfire.session.ClientSession;
import org.jivesoftware.openfire.session.Session; import org.jivesoftware.openfire.session.Session;
import org.jivesoftware.openfire.user.RemotePresenceEventDispatcher;
import org.jivesoftware.util.LocaleUtils; import org.jivesoftware.util.LocaleUtils;
import org.jivesoftware.util.Log; import org.jivesoftware.util.Log;
import org.xmpp.packet.*; import org.xmpp.packet.*;
...@@ -120,6 +121,19 @@ public class PresenceRouter extends BasicModule { ...@@ -120,6 +121,19 @@ public class PresenceRouter extends BasicModule {
updateHandler.process(packet); updateHandler.process(packet);
} }
else { else {
JID senderJID = packet.getFrom();
// Manage remote presence event dispatching
if (senderJID != null && !serverName.equals(senderJID.getDomain())) {
if (type == null) {
// Remote user has become available
RemotePresenceEventDispatcher.remoteUserAvailable(packet);
}
else if (type == Presence.Type.unavailable) {
// Remote user is now unavailable
RemotePresenceEventDispatcher.remoteUserUnavailable(packet);
}
}
// Check that sender session is still active // Check that sender session is still active
Session session = sessionManager.getSession(packet.getFrom()); Session session = sessionManager.getSession(packet.getFrom());
if (session != null && session.getStatus() == Session.STATUS_CLOSED) { if (session != null && session.getStatus() == Session.STATUS_CLOSED) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment