Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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