diff options
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/msn/EventManager.java')
-rw-r--r-- | src/net/java/sip/communicator/impl/protocol/msn/EventManager.java | 256 |
1 files changed, 0 insertions, 256 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/msn/EventManager.java b/src/net/java/sip/communicator/impl/protocol/msn/EventManager.java deleted file mode 100644 index 646be8a..0000000 --- a/src/net/java/sip/communicator/impl/protocol/msn/EventManager.java +++ /dev/null @@ -1,256 +0,0 @@ -/* - * Jitsi, the OpenSource Java VoIP and Instant Messaging client. - * - * Distributable under LGPL license. - * See terms of license at gnu.org. - */ -package net.java.sip.communicator.impl.protocol.msn; - -import java.util.*; - -import net.java.sip.communicator.service.protocol.*; -import net.java.sip.communicator.service.protocol.event.*; -import net.java.sip.communicator.util.*; -import net.sf.jml.*; -import net.sf.jml.impl.*; -import net.sf.jml.net.*; -import net.sf.jml.net.Message; -import net.sf.jml.protocol.*; -import net.sf.jml.protocol.incoming.*; - -/** - * Manager which listens for changing of the contact list and fires some events. - * - * @author Damian Minkov - */ -public class EventManager - extends SessionAdapter -{ - /** - * The class logger. - */ - private static final Logger logger = Logger.getLogger(EventManager.class); - - /** - * Whether we are connected. - */ - private boolean connected = false; - - /** - * The timer for monitoring connection. - */ - private Timer connectionTimer; - - /** - * Event listeners. - */ - private final List<MsnContactListEventListener> listeners - = new Vector<MsnContactListEventListener>(); - - /** - * The messenger. - */ - private final BasicMessenger msnMessenger; - - /** - * The provider that is on top of us. - */ - private final ProtocolProviderServiceMsnImpl msnProvider; - - /** - * Initializes a new <tt>EventManager</tt> instance which is to manage the - * events of a specific <tt>BasicMessenger</tt> as part of its operation for - * the purposes of a specific <tt>ProtocolProviderServiceMsnImpl</tt>. - * - * @param msnProvider the <tt>ProtocolProviderServiceMsnImpl</tt> which is - * the creator of the new instance - * @param msnMessenger the <tt>BasicMessenger</tt> which is to have its - * events managed by the new instance - */ - public EventManager(ProtocolProviderServiceMsnImpl msnProvider, - BasicMessenger msnMessenger) - { - this.msnProvider = msnProvider; - this.msnMessenger = msnMessenger; - - msnMessenger.addSessionListener(this); - } - - /** - * Adds listener of the modification fired events - * @param listener the modification listener we're adding - */ - public void addModificationListener(MsnContactListEventListener listener) - { - synchronized(listeners) - { - if (!listeners.contains(listener)) - listeners.add(listener); - } - } - - /** - * Removes listener of the modification fired events - * @param listener EventListener - */ - public void removeModificationListener(MsnContactListEventListener listener) - { - synchronized(listeners) - { - listeners.remove(listener); - } - } - - /** - * Called from the underling lib when message is sent to the server - * @param session Session - * @param message Message - * @throws Exception - */ - @Override - public void messageSent(Session session, Message message) throws Exception - { - if (logger.isTraceEnabled()) - logger.trace(msnMessenger.getOwner().getEmail().getEmailAddress() + - " outgoing " + message); - } - - /** - * Called from the underling lib when message is received from the server - * @param session Session - * @param message Message - * @throws Exception - */ - @Override - public void messageReceived(Session session, Message message) - throws Exception - { - MsnIncomingMessage incoming = (MsnIncomingMessage)((WrapperMessage)message) - .getMessage(); - - if (logger.isTraceEnabled()) - logger.trace(msnMessenger.getOwner().getEmail().getEmailAddress() + - " incoming : " + incoming); - - if(incoming instanceof IncomingACK) - { - //indicate the message has successed send to remote user. - fireMessageDelivered(((IncomingACK)incoming).getTransactionId()); - } - else if(incoming instanceof IncomingNAK) - { - //indicate the message has not successed send to remote user. - fireMessageDeliveredFailed(((IncomingNAK)incoming).getTransactionId()); - } - else if(incoming instanceof IncomingREG) - { - //indicate the group name has changed successfully. - IncomingREG incomingREG = (IncomingREG)incoming; - - MsnGroupImpl group = (MsnGroupImpl)msnMessenger.getContactList(). - getGroup(incomingREG.getGroupId()); - fireGroupRenamed(group); - } - else if(incoming instanceof IncomingOUT) - { - IncomingOUT incomingOUT = (IncomingOUT)incoming; - if(incomingOUT.isLoggingFromOtherLocation()) - fireLoggingFromOtherLocation(); - } - else if(incoming instanceof IncomingQNG) - { - connected = true; - } - } - - /** - * Called when there was timeout on the connection. - * @param socketSession - * @throws Exception - */ - @Override - public void sessionTimeout(Session socketSession) throws Exception - { - Timer connectionTimer; - - /* - * Delays the creation of Timer because it immediately starts a new - * Thread while it may not be necessary at all. - */ - synchronized (this) - { - if (this.connectionTimer == null) - this.connectionTimer = new Timer("Msn connection timer", true); - connectionTimer = this.connectionTimer; - } - - connectionTimer.schedule(new TimerTask() - { - @Override - public void run() - { - if(!connected && msnProvider.isRegistered()) - { - msnProvider.unregisterInternal(false); - msnProvider.fireRegistrationStateChanged( - msnProvider.getRegistrationState(), - RegistrationState.CONNECTION_FAILED, - RegistrationStateChangeEvent.REASON_NOT_SPECIFIED, - null); - } - } - }, 20000); - connected = false; - } - - /** - * Fired when a message is delivered successfully - * @param transactionID int - */ - private void fireMessageDelivered(int transactionID) - { - synchronized(listeners) - { - for (MsnContactListEventListener listener : listeners) - listener.messageDelivered(transactionID); - } - } - - /** - * Fired when a message is not delivered successfully - * @param transactionID int - */ - private void fireMessageDeliveredFailed(int transactionID) - { - synchronized(listeners) - { - for (MsnContactListEventListener listener : listeners) - listener.messageDeliveredFailed(transactionID); - } - } - - /** - * Fired when a group is renamed successfully - * @param group MsnGroup - */ - private void fireGroupRenamed(MsnGroup group) - { - synchronized(listeners) - { - for (MsnContactListEventListener listener : listeners) - listener.groupRenamed(group); - } - } - - /** - * Fired when we received event for logging in from other location - */ - private void fireLoggingFromOtherLocation() - { - synchronized (listeners) - { - for (MsnContactListEventListener listener : listeners) - listener.loggingFromOtherLocation(); - } - } -} |