diff options
author | Alan Young <consult.awy@gmail.com> | 2014-11-13 06:42:37 (GMT) |
---|---|---|
committer | Alan Young <consult.awy@gmail.com> | 2015-04-10 06:50:58 (GMT) |
commit | 7d2101b93b6253c3ea15b663f7f3dc385cb21364 (patch) | |
tree | d81338baf0d117e83cdc07f882cbedd9471e834d /src/com/isode/stroke/roster/XMPPRoster.java | |
parent | a20ca7ba40d837abe228462be0aba5d32d6831e3 (diff) | |
download | stroke-7d2101b93b6253c3ea15b663f7f3dc385cb21364.zip stroke-7d2101b93b6253c3ea15b663f7f3dc385cb21364.tar.bz2 |
Checkpoint - A bunch of initial stuff for Android
MemoryStorages, Storages
NickManager, NickResolver
CryptoProvider, Hash, SafeByteArray, JavaCryptoProvider
CapsInfoGenerator, CapsManager, CapsMemoryStorage, CapsProvider,
CapsStorage, CapsInfo
CapsInfoSerializer, CapsInfoParser
ClientDiscoManager, DiscoInfoResponder, EntityCapsManager,
EntityCapsProvider
GetDiscoInfoRequest
ChatState, Idle
Presence, PayloadAddingPresenceSender, PresenceOracle,
SubscriptionManager
StatusSerializer, StatusShowSerializer, StatusParser, StatusShowParser,
Replace, ReplaceParser, ReplaceSerializer
SecurityLabel, SecurityLabelsCatalog, GetSecurityLabelsCatalogRequest
VCard, GetVCardRequest, SetVCardRequest, VCardManager,
VCardMemoryStorage, VCardStorage
RosterMemoryStorage, RosterPushResponder, RosterStorage,
SetRosterRequest
XMPPRoster, XMPPRosterController, XMPPRosterImpl, XMPPRosterItem
GetRosterRequest, SetResponder
Add parsers and serializers for Idle, VCard, PrivateStorage & Stroage.
Add
parser for Subject.
Add impromptu flag to MUCInvitation.
Update copyrights.
Change-Id: I9949f506b70e60b3a64f1dadde8f9b235b322e1d
Diffstat (limited to 'src/com/isode/stroke/roster/XMPPRoster.java')
-rw-r--r-- | src/com/isode/stroke/roster/XMPPRoster.java | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/src/com/isode/stroke/roster/XMPPRoster.java b/src/com/isode/stroke/roster/XMPPRoster.java new file mode 100644 index 0000000..a2c3cd3 --- /dev/null +++ b/src/com/isode/stroke/roster/XMPPRoster.java @@ -0,0 +1,80 @@ +/* + * Copyright (c) 2010-2015, Isode Limited, London, England. + * All rights reserved. + */ +package com.isode.stroke.roster; + +import java.util.Set; +import java.util.Collection; + +import com.isode.stroke.elements.RosterItemPayload; +import com.isode.stroke.jid.JID; +import com.isode.stroke.signals.Signal; +import com.isode.stroke.signals.Signal1; +import com.isode.stroke.signals.Signal3; + +public abstract class XMPPRoster { + /** + * Checks whether the bare jid of the given jid is in the roster. + */ + public abstract boolean containsJID(final JID jid); + + /** + * Retrieves the subscription state for the given jid. + */ + public abstract RosterItemPayload.Subscription getSubscriptionStateForJID(final JID jid); + + /** + * Retrieves the stored roster name for the given jid. + */ + public abstract String getNameForJID(final JID jid); + + /** + * Returns the list of groups for the given JID. + */ + public abstract Collection<String> getGroupsForJID(final JID jid); + + /** + * Retrieve the items in the roster. + */ + public abstract Collection<XMPPRosterItem> getItems(); + + /** + * Retrieve the item with the given JID. + */ + public abstract XMPPRosterItem getItem(final JID jid); + + /** + * Retrieve the list of (existing) groups. + */ + public abstract Set<String> getGroups(); + + /** + * Emitted when the given JID is added to the roster. + */ + public final Signal1<JID> onJIDAdded = new Signal1<JID>(); + + /** + * Emitted when the given JID is removed from the roster. + */ + public final Signal1<JID> onJIDRemoved = new Signal1<JID>(); + + /** + * Emitted when the name or the groups of the roster item with the + * given JID changes. + */ + public final Signal3<JID, String, Collection<String>> onJIDUpdated = new Signal3<JID, String, Collection<String>>(); + + /** + * Emitted when the roster is reset (e.g. due to logging in/logging out). + * After this signal is emitted, the roster is empty. It will be repopulated through + * onJIDAdded and onJIDRemoved events. + */ + public final Signal onRosterCleared = new Signal(); + + /** + * Emitted after the last contact of the initial roster request response + * was added. + */ + public final Signal onInitialRosterPopulated = new Signal(); +} |