diff options
author | slewis | 2007-05-02 19:51:17 +0000 |
---|---|---|
committer | slewis | 2007-05-02 19:51:17 +0000 |
commit | 490e88a2f77e9c0e7a4585a3ab188ffff6e1078c (patch) | |
tree | c43452e1d3e9d5ce789a9291d4cbbc6e67068c3f /framework/bundles | |
parent | 0897a7c06da447a0556cac7dfa25c49917a0fd40 (diff) | |
download | org.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')
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; } |