package com.voxeo.moho.presence.impl.sip;
import java.util.List;
import com.voxeo.moho.event.SubscribeEvent.SubscriptionContext;
import com.voxeo.moho.presence.NotifyBody;
import com.voxeo.moho.presence.PresenceStore;
import com.voxeo.moho.presence.Resource;
import com.voxeo.moho.presence.SubscriptionID;
import com.voxeo.moho.presence.sip.EventSoftState;
public interface SIPPresenceStore extends PresenceStore {
SubscriptionContext getSubscription(SubscriptionID subId);
void addSubscription(SubscriptionContext context);
void updateSubscripton(SubscriptionContext context);
void removeSubscription(SubscriptionContext context);
boolean isSubscriptionExist(SubscriptionContext context);
Resource getResource(String resourceUri, String eventName);
void addResource(Resource resource);
void updateResource(Resource resource);
NotifyBody getNotifyBody(String resourceUri, String eventName, String notifyBodyType);
EventSoftState getEventSoftState(String resourceUri, String entityTag);
boolean removeEventSoftState(EventSoftState state);
void addEventSoftState(EventSoftState state);
void addNotifyBody(String resourceUri, String eventName, String notifyBodyType, NotifyBody notifyBody);
List<SubscriptionID> getSubscriptions(String resourceUri, String event, String notifyBodyType);
}