Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorrsuen2007-04-17 00:59:49 +0000
committerrsuen2007-04-17 00:59:49 +0000
commit10f5f3d9bf0dff1b323a612db3967aeb08a52bd3 (patch)
tree6fd87e8570aab53136d85e98c6f5e631bf881ef5
parentedf2a50d5a4668ea7ed65c151daf8b796078db85 (diff)
downloadorg.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.java30
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++) {

Back to the top