diff options
author | rsuen | 2007-04-17 00:59:49 +0000 |
---|---|---|
committer | rsuen | 2007-04-17 00:59:49 +0000 |
commit | 10f5f3d9bf0dff1b323a612db3967aeb08a52bd3 (patch) | |
tree | 6fd87e8570aab53136d85e98c6f5e631bf881ef5 | |
parent | edf2a50d5a4668ea7ed65c151daf8b796078db85 (diff) | |
download | org.eclipse.ecf-10f5f3d9bf0dff1b323a612db3967aeb08a52bd3.tar.gz org.eclipse.ecf-10f5f3d9bf0dff1b323a612db3967aeb08a52bd3.tar.xz org.eclipse.ecf-10f5f3d9bf0dff1b323a612db3967aeb08a52bd3.zip |
Fire the handlePresence(ID, IPresence) event.
-rw-r--r-- | providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java b/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java index 51a9a067e..309ffb08e 100644 --- a/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java +++ b/providers/bundles/org.eclipse.ecf.provider.msn/src/org/eclipse/ecf/internal/provider/msn/MSNContainer.java @@ -187,6 +187,11 @@ final class MSNContainer implements IContainer, IChatManager, .addContactListener(new IContactListener() { public void nameChanged( String name) { + firePresence( + entry + .getID(), + entry + .getPresence()); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } @@ -195,12 +200,22 @@ final class MSNContainer implements IContainer, IChatManager, String personalMessage) { entry .updatePersonalMessage(); + firePresence( + entry + .getID(), + entry + .getPresence()); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } public void statusChanged( Status status) { + firePresence( + entry + .getID(), + entry + .getPresence()); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } @@ -223,6 +238,8 @@ final class MSNContainer implements IContainer, IChatManager, contact.addContactListener(new IContactListener() { public void nameChanged(String name) { + firePresence(entry.getID(), entry + .getPresence()); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } @@ -230,11 +247,15 @@ final class MSNContainer implements IContainer, IChatManager, public void personalMessageChanged( String personalMessage) { entry.updatePersonalMessage(); + firePresence(entry.getID(), entry + .getPresence()); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } public void statusChanged(Status status) { + firePresence(entry.getID(), entry + .getPresence()); fireRosterUpdate(entry); fireRosterEntryUpdated(entry); } @@ -375,6 +396,15 @@ final class MSNContainer implements IContainer, IChatManager, } } + private void firePresence(ID id, IPresence presence) { + synchronized (presenceListeners) { + for (int i = 0; i < presenceListeners.size(); i++) { + ((IPresenceListener) presenceListeners.get(i)).handlePresence( + id, presence); + } + } + } + private void fireHandleSubscriptionRequest(ID fromID) { synchronized (subscriptionListeners) { for (int i = 0; i < subscriptionListeners.size(); i++) { |