Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorslewis2007-05-02 15:51:17 -0400
committerslewis2007-05-02 15:51:17 -0400
commit490e88a2f77e9c0e7a4585a3ab188ffff6e1078c (patch)
treec43452e1d3e9d5ce789a9291d4cbbc6e67068c3f /framework/bundles/org.eclipse.ecf.presence
parent0897a7c06da447a0556cac7dfa25c49917a0fd40 (diff)
downloadorg.eclipse.ecf-490e88a2f77e9c0e7a4585a3ab188ffff6e1078c.tar.gz
org.eclipse.ecf-490e88a2f77e9c0e7a4585a3ab188ffff6e1078c.tar.xz
org.eclipse.ecf-490e88a2f77e9c0e7a4585a3ab188ffff6e1078c.zip
Added IChatManager.createChat(ID targetID) to handle case described in bug https://bugs.eclipse.org/bugs/show_bug.cgi?id=182474. No implementation yet, but all providers updated to return null (signifying 'does not implement as described in javadocs)
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.presence')
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChat.java8
-rw-r--r--framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChatManager.java14
2 files changed, 22 insertions, 0 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChat.java b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChat.java
index 0320ef9ea..3a1af7fa5 100644
--- a/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChat.java
+++ b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChat.java
@@ -16,6 +16,7 @@ import java.util.Map;
import org.eclipse.ecf.core.ContainerCreateException;
import org.eclipse.ecf.core.identity.ID;
import org.eclipse.ecf.core.util.ECFException;
+import org.eclipse.ecf.presence.IPresenceContainerAdapter;
import org.eclipse.ecf.presence.chatroom.IChatRoomContainer;
/**
@@ -71,4 +72,11 @@ public interface IChat {
* if chat room container cannot be made.
*/
public IChatRoomContainer createChatRoom() throws ContainerCreateException;
+
+ /**
+ * Get presence container adapter for this chat instance.
+ * @return IPresenceContainerAdapter for this chat instance. Will not
+ * return <code>null</code>.
+ */
+ public IPresenceContainerAdapter getPresenceContainerAdapter();
}
diff --git a/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChatManager.java b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChatManager.java
index d09f3b113..5b921eb5a 100644
--- a/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChatManager.java
+++ b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/im/IChatManager.java
@@ -11,6 +11,8 @@
package org.eclipse.ecf.presence.im;
+import org.eclipse.ecf.core.identity.ID;
+import org.eclipse.ecf.core.util.ECFException;
import org.eclipse.ecf.presence.IIMMessageListener;
import org.eclipse.ecf.presence.history.IHistoryManager;
@@ -62,4 +64,16 @@ public interface IChatManager {
*/
public IHistoryManager getHistoryManager();
+ /**
+ * Create chat instance for given target user.
+ *
+ * @param targetUser the targetUser to create chat for. Should not be <code>null</code>.
+ * If the user container is offline/disconnected. then an {@link ECFException} will
+ * be thrown. If this chat manager implementation does not support creating such chats,
+ * then <code>null</code> will be returned.
+ *
+ * @return IChat for given <code>targetUser</code>. Will return <code>null</code> if
+ * the underlying implementation does not support threads/specific chat instances.
+ */
+ public IChat createChat(ID targetUser) throws ECFException;
}

Back to the top