diff --git a/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java b/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java index 7028d5cf9..062f4b22e 100644 --- a/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java +++ b/src/net/java/sip/communicator/service/protocol/OperationSetPersistentPresence.java @@ -177,7 +177,6 @@ public void moveContactToGroup(Contact contactToMove, */ public ContactGroup getServerStoredContactListRoot(); - /** * Registers a listener that would receive events upong changes in server * stored groups. @@ -195,4 +194,48 @@ public void addServerStoredGroupChangeListener( public void removeServerStoredGroupChangeListener( ServerStoredGroupListener listener); + + /** + * Creates and returns a unresolved contact from the specified + * address and persistentData. The method will not try + * to establish a network connection and resolve the newly created Contact + * against the server. The protocol provider may will later try and resolve + * the contact. When this happens the corresponding event would notify + * interested subscription listeners. + * + * @param address an identifier of the contact that we'll be creating. + * @param persistentData a String returned Contact's getPersistentData() + * method during a previous run and that has been persistently stored + * locally. + * @param parentGroup the group where the unresolved contact is + * supposed to belong to. + * + * @return the unresolved Contact created from the specified + * address and persistentData + */ + public Contact createUnresolvedContact( + String address, String persistentData, ContactGroup parentGroup); + + /** + * Creates and returns a unresolved contact group from the specified + * address and persistentData. The method will not try + * to establish a network connection and resolve the newly created + * ContactGroup against the server or the contact itself. The + * protocol provider will later resolve the contact group. When this happens + * the corresponding event would notify interested subscription listeners. + * + * @param groupUID an identifier, returned by ContactGroup's getGroupUID, + * that the protocol provider may use in order to create the group. + * @param persistentData a String returned ContactGroups's getPersistentData() + * method during a previous run and that has been persistently stored + * locally. + * @param parentGroup the group under which the new group is to be created + * or null if this is group directly underneath the root. + * @return the unresolved ContactGroup created from the specified + * uid and persistentData + */ + public ContactGroup createUnresolvedContactGroup( + String groupUID, String persistentData, ContactGroup parentGroup); + + }