mirror of
https://codeberg.org/Mercury-IM/Smack
synced 2024-11-25 15:52:06 +01:00
Add and use AbstractConnectionClosedListener
This commit is contained in:
parent
b23c3226d2
commit
82eb9b18dd
7 changed files with 56 additions and 47 deletions
|
@ -0,0 +1,35 @@
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
* Copyright 2015 Florian Schmaus
|
||||||
|
*
|
||||||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
* you may not use this file except in compliance with the License.
|
||||||
|
* You may obtain a copy of the License at
|
||||||
|
*
|
||||||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
*
|
||||||
|
* Unless required by applicable law or agreed to in writing, software
|
||||||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
* See the License for the specific language governing permissions and
|
||||||
|
* limitations under the License.
|
||||||
|
*/
|
||||||
|
package org.jivesoftware.smack;
|
||||||
|
|
||||||
|
/**
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
public abstract class AbstractConnectionClosedListener extends AbstractConnectionListener {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void connectionClosed() {
|
||||||
|
connectionTerminated();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public final void connectionClosedOnError(Exception e) {
|
||||||
|
connectionTerminated();
|
||||||
|
}
|
||||||
|
|
||||||
|
public abstract void connectionTerminated();
|
||||||
|
}
|
|
@ -135,8 +135,9 @@ public class Roster {
|
||||||
connection.addSyncPacketListener(presencePacketListener, PRESENCE_PACKET_FILTER);
|
connection.addSyncPacketListener(presencePacketListener, PRESENCE_PACKET_FILTER);
|
||||||
|
|
||||||
// Listen for connection events
|
// Listen for connection events
|
||||||
connection.addConnectionListener(new AbstractConnectionListener() {
|
connection.addConnectionListener(new AbstractConnectionClosedListener() {
|
||||||
|
|
||||||
|
@Override
|
||||||
public void authenticated(XMPPConnection connection) {
|
public void authenticated(XMPPConnection connection) {
|
||||||
// Anonymous users can't have a roster, but it is possible that a Roster instance is
|
// Anonymous users can't have a roster, but it is possible that a Roster instance is
|
||||||
// retrieved if getRoster() is called *before* connect(). So we have to check here
|
// retrieved if getRoster() is called *before* connect(). So we have to check here
|
||||||
|
@ -154,12 +155,8 @@ public class Roster {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void connectionClosed() {
|
@Override
|
||||||
// Changes the presence available contacts to unavailable
|
public void connectionTerminated() {
|
||||||
setOfflinePresencesAndResetLoaded();
|
|
||||||
}
|
|
||||||
|
|
||||||
public void connectionClosedOnError(Exception e) {
|
|
||||||
// Changes the presence available contacts to unavailable
|
// Changes the presence available contacts to unavailable
|
||||||
setOfflinePresencesAndResetLoaded();
|
setOfflinePresencesAndResetLoaded();
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,7 +24,7 @@ import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
|
|
||||||
import org.jivesoftware.smack.AbstractConnectionListener;
|
import org.jivesoftware.smack.AbstractConnectionClosedListener;
|
||||||
import org.jivesoftware.smack.SmackException;
|
import org.jivesoftware.smack.SmackException;
|
||||||
import org.jivesoftware.smack.SmackException.NoResponseException;
|
import org.jivesoftware.smack.SmackException.NoResponseException;
|
||||||
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
||||||
|
@ -107,15 +107,10 @@ public class InBandBytestreamManager implements BytestreamManager {
|
||||||
InBandBytestreamManager.getByteStreamManager(connection);
|
InBandBytestreamManager.getByteStreamManager(connection);
|
||||||
|
|
||||||
// register shutdown listener
|
// register shutdown listener
|
||||||
connection.addConnectionListener(new AbstractConnectionListener() {
|
connection.addConnectionListener(new AbstractConnectionClosedListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void connectionClosed() {
|
public void connectionTerminated() {
|
||||||
InBandBytestreamManager.getByteStreamManager(connection).disableService();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void connectionClosedOnError(Exception e) {
|
|
||||||
InBandBytestreamManager.getByteStreamManager(connection).disableService();
|
InBandBytestreamManager.getByteStreamManager(connection).disableService();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -28,7 +28,7 @@ import java.util.Random;
|
||||||
import java.util.concurrent.ConcurrentHashMap;
|
import java.util.concurrent.ConcurrentHashMap;
|
||||||
import java.util.concurrent.TimeoutException;
|
import java.util.concurrent.TimeoutException;
|
||||||
|
|
||||||
import org.jivesoftware.smack.AbstractConnectionListener;
|
import org.jivesoftware.smack.AbstractConnectionClosedListener;
|
||||||
import org.jivesoftware.smack.SmackException;
|
import org.jivesoftware.smack.SmackException;
|
||||||
import org.jivesoftware.smack.SmackException.NoResponseException;
|
import org.jivesoftware.smack.SmackException.NoResponseException;
|
||||||
import org.jivesoftware.smack.SmackException.FeatureNotSupportedException;
|
import org.jivesoftware.smack.SmackException.FeatureNotSupportedException;
|
||||||
|
@ -100,15 +100,10 @@ public final class Socks5BytestreamManager implements BytestreamManager {
|
||||||
Socks5BytestreamManager.getBytestreamManager(connection);
|
Socks5BytestreamManager.getBytestreamManager(connection);
|
||||||
|
|
||||||
// register shutdown listener
|
// register shutdown listener
|
||||||
connection.addConnectionListener(new AbstractConnectionListener() {
|
connection.addConnectionListener(new AbstractConnectionClosedListener() {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void connectionClosed() {
|
public void connectionTerminated() {
|
||||||
Socks5BytestreamManager.getBytestreamManager(connection).disableService();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void connectionClosedOnError(Exception e) {
|
|
||||||
Socks5BytestreamManager.getBytestreamManager(connection).disableService();
|
Socks5BytestreamManager.getBytestreamManager(connection).disableService();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
*/
|
*/
|
||||||
package org.jivesoftware.smackx.caps;
|
package org.jivesoftware.smackx.caps;
|
||||||
|
|
||||||
import org.jivesoftware.smack.AbstractConnectionListener;
|
import org.jivesoftware.smack.AbstractConnectionClosedListener;
|
||||||
import org.jivesoftware.smack.SmackException.NoResponseException;
|
import org.jivesoftware.smack.SmackException.NoResponseException;
|
||||||
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
||||||
import org.jivesoftware.smack.XMPPConnection;
|
import org.jivesoftware.smack.XMPPConnection;
|
||||||
|
@ -274,7 +274,7 @@ public class EntityCapsManager extends Manager {
|
||||||
this.sdm = ServiceDiscoveryManager.getInstanceFor(connection);
|
this.sdm = ServiceDiscoveryManager.getInstanceFor(connection);
|
||||||
instances.put(connection, this);
|
instances.put(connection, this);
|
||||||
|
|
||||||
connection.addConnectionListener(new AbstractConnectionListener() {
|
connection.addConnectionListener(new AbstractConnectionClosedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void connected(XMPPConnection connection) {
|
public void connected(XMPPConnection connection) {
|
||||||
// It's not clear when a server would report the caps stream
|
// It's not clear when a server would report the caps stream
|
||||||
|
@ -290,11 +290,7 @@ public class EntityCapsManager extends Manager {
|
||||||
processCapsStreamFeatureIfAvailable(connection);
|
processCapsStreamFeatureIfAvailable(connection);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void connectionClosed() {
|
public void connectionTerminated() {
|
||||||
presenceSend = false;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void connectionClosedOnError(Exception e) {
|
|
||||||
presenceSend = false;
|
presenceSend = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* Copyright 2012-2014 Florian Schmaus
|
* Copyright 2012-2015 Florian Schmaus
|
||||||
*
|
*
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -28,7 +28,7 @@ import java.util.concurrent.TimeUnit;
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.jivesoftware.smack.AbstractConnectionListener;
|
import org.jivesoftware.smack.AbstractConnectionClosedListener;
|
||||||
import org.jivesoftware.smack.SmackException;
|
import org.jivesoftware.smack.SmackException;
|
||||||
import org.jivesoftware.smack.SmackException.NoResponseException;
|
import org.jivesoftware.smack.SmackException.NoResponseException;
|
||||||
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
import org.jivesoftware.smack.SmackException.NotConnectedException;
|
||||||
|
@ -135,17 +135,13 @@ public class PingManager extends Manager {
|
||||||
connection().sendPacket(ping.getPong());
|
connection().sendPacket(ping.getPong());
|
||||||
}
|
}
|
||||||
}, PING_PACKET_FILTER);
|
}, PING_PACKET_FILTER);
|
||||||
connection.addConnectionListener(new AbstractConnectionListener() {
|
connection.addConnectionListener(new AbstractConnectionClosedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void authenticated(XMPPConnection connection) {
|
public void authenticated(XMPPConnection connection) {
|
||||||
maybeSchedulePingServerTask();
|
maybeSchedulePingServerTask();
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public void connectionClosed() {
|
public void connectionTerminated() {
|
||||||
maybeStopPingServerTask();
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public void connectionClosedOnError(Exception arg0) {
|
|
||||||
maybeStopPingServerTask();
|
maybeStopPingServerTask();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
|
@ -23,7 +23,7 @@ import java.util.Map;
|
||||||
import java.util.Random;
|
import java.util.Random;
|
||||||
import java.util.logging.Logger;
|
import java.util.logging.Logger;
|
||||||
|
|
||||||
import org.jivesoftware.smack.AbstractConnectionListener;
|
import org.jivesoftware.smack.AbstractConnectionClosedListener;
|
||||||
import org.jivesoftware.smack.ConnectionListener;
|
import org.jivesoftware.smack.ConnectionListener;
|
||||||
import org.jivesoftware.smack.PacketListener;
|
import org.jivesoftware.smack.PacketListener;
|
||||||
import org.jivesoftware.smack.SmackException;
|
import org.jivesoftware.smack.SmackException;
|
||||||
|
@ -628,14 +628,9 @@ public class JingleSession extends JingleNegotiator implements MediaReceivedList
|
||||||
*/
|
*/
|
||||||
private void installConnectionListeners(final XMPPConnection connection) {
|
private void installConnectionListeners(final XMPPConnection connection) {
|
||||||
if (connection != null) {
|
if (connection != null) {
|
||||||
connectionListener = new AbstractConnectionListener() {
|
connectionListener = new AbstractConnectionClosedListener() {
|
||||||
@Override
|
@Override
|
||||||
public void connectionClosed() {
|
public void connectionTerminated() {
|
||||||
unregisterInstanceFor(connection);
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void connectionClosedOnError(java.lang.Exception e) {
|
|
||||||
unregisterInstanceFor(connection);
|
unregisterInstanceFor(connection);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue