package org.mobicents.slee.sippresence.client; import javax.slee.SbbLocalObject; /** * * Client interface to a presence server. * @author martins * */ public interface PresenceClientControlSbbLocalObject extends SbbLocalObject { /** * Used to set the call back sbb local object in the sbb implementing this * interface. Must be used whenever a new object of this interface is * created. * * An example: * * ChildRelation childRelation = getChildRelation(); * PresenceClientControlSbbLocalObject childSbb = * (PresenceClientControlSbbLocalObject) childRelation.create(); * childSbb.setParentSbb( * (PresenceClientControlParentSbbLocalObject)this.getSbbContext().getSbbLocalObject()); * * * @param parent */ public void setParentSbb(PresenceClientControlParentSbbLocalObject parentSbb); /** * Creates a new publication for the specified Entity. * * @param requestId * an object that identifies the request, the child sbb will * return it when providing the response * @param entity * @param document * @param contentType * @param contentSubType * @param expires * the time in seconds, which the publication is valid */ public void newPublication(Object requestId, String entity, String document, String contentType, String contentSubType, int expires); /** * Refreshes the publication identified by the specified Entity and ETag. * * @param requestId * an object that identifies the request, the child sbb will * return it when providing the response * @param entity * @param eTag * @param expires * the time in seconds, which the publication is valid */ public void refreshPublication(Object requestId, String entity, String eTag, int expires); /** * Modifies the publication identified by the specified Entity and ETag. * * @param requestId * an object that identifies the request, the child sbb will * return it when providing the response * @param entity * @param eTag * @param document * @param contentType * @param contentSubType * @param expires * the time in seconds, which the publication is valid */ public void modifyPublication(Object requestId, String entity, String eTag, String document, String contentType, String contentSubType, int expires); /** * Removes the publication identified by the specified Entity and ETag. * * @param requestId * an object that identifies the request, the child sbb will * return it when providing the response * @param entity * @param eventPackage * @param eTag */ public void removePublication(Object requestId, String entity, String eTag); /** * Creates a subscription * * @param subscriber * @param notifier * @param eventPackage * only event packages "presence" and "presence.winfo" may be * supported by the presence server * @param subscriptionId * @param expires */ public void newSubscription(String subscriber, String subscriberdisplayName, String notifier, String eventPackage, String subscriptionId, int expires); /** * Refreshes a subscription * * @param subscriber * @param notifier * @param eventPackage * only event packages "presence" and "presence.winfo" may be * supported by the presence server * @param subscriptionId * @param expires */ public void refreshSubscription(String subscriber, String notifier, String eventPackage, String subscriptionId, int expires); /** * Terminates a subscription. * * @param subscriber * @param notifier * @param eventPackage * only event packages "presence" and "presence.winfo" may be * supported by the presence server * @param subscriptionId */ public void removeSubscription(String subscriber, String notifier, String eventPackage, String subscriptionId); }