diff options
author | slewis | 2006-12-18 08:02:10 +0000 |
---|---|---|
committer | slewis | 2006-12-18 08:02:10 +0000 |
commit | 24d14e2f17ad762e1a3b701abcf99cf744473377 (patch) | |
tree | e82ed918624238231619ce4799182193519c1337 /framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/IRosterManager.java | |
parent | 49db8095be32bd5628d89471d791daafdcb9cef0 (diff) | |
download | org.eclipse.ecf-24d14e2f17ad762e1a3b701abcf99cf744473377.tar.gz org.eclipse.ecf-24d14e2f17ad762e1a3b701abcf99cf744473377.tar.xz org.eclipse.ecf-24d14e2f17ad762e1a3b701abcf99cf744473377.zip |
Added presence roster package and interfaces/classes as part of presence refactoring
Diffstat (limited to 'framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/IRosterManager.java')
-rw-r--r-- | framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/IRosterManager.java | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/IRosterManager.java b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/IRosterManager.java new file mode 100644 index 000000000..dbb35fe39 --- /dev/null +++ b/framework/bundles/org.eclipse.ecf.presence/src/org/eclipse/ecf/presence/roster/IRosterManager.java @@ -0,0 +1,90 @@ +/**************************************************************************** + * Copyright (c) 2004 Composent, Inc. and others. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Composent, Inc. - initial API and implementation + *****************************************************************************/ +package org.eclipse.ecf.presence.roster; + +import org.eclipse.core.runtime.IAdaptable; + +/** + * Roster manager for getting access to and changing roster. + * + */ +public interface IRosterManager extends IAdaptable { + + /** + * Get roster for this account + * + * @return IRoster for this roster manager + */ + public IRoster getRoster(); + + /** + * Add roster update listener to receive roster update events for this roster manager + * + * @param listener the listener to add. Must not be null + */ + public void addRosterUpdateListener(IRosterUpdateListener listener); + + /** + * Remove roster update listener + * + * @param listener the listener to remove. Must not be null. + */ + public void removeRosterUpdateListener(IRosterUpdateListener listener); + + /** + * Get roster update sender. If not null, the returned object can + * be used to send requests for roster updates. + * + * @return IRosterUpdateSender to use to send roster update requests. + * If null, sending requests for roster updates are not supported + */ + public IRosterUpdateSender getRosterUpdateSender(); + + /** + * Setup listener for handling roster subscription requests. The given + * listener will asynchronously be called when a subscription request is + * received by this connected account. + * + * @param listener + * for receiving subscription requests. Must not be null. + */ + public void addRosterSubscriptionListener(IRosterSubscriptionListener listener); + + /** + * Remove listener for roster subscription requests. + * + * @param listener + * the listener to remove. Must not be null. + */ + public void removeRosterSubscriptionListener(IRosterSubscriptionListener listener); + + /** + * Get roster subscription sender. The roster subscription sender returned by + * this method, if not null, may be used to send roster subscribe and + * unsubscribe requests + * + * @return IRosterSubscriptionSender the sender to use. If null, sending requests + * for roster updates are not supported. + */ + public IRosterSubscriptionSender getRosterSubscriptionSender(); + + /** + * Retrieve interface for sending presence updates. The returned + * IPresenceSender (if not null) can be used to send presence change + * messages to remote users that have access to the presence information for + * the connected account. + * + * @return IPresenceSender. Null if no presence sender available for this + * provider. + */ + public IPresenceSender getPresenceSender(); + +} |