64850858
2021-07-16 89a9ab4534f10a224f70e546db838423e84a1965
src/main/java/com/genersoft/iot/vmp/gb28181/event/SipSubscribe.java
@@ -1,37 +1,42 @@
package com.genersoft.iot.vmp.gb28181.event;
import com.alibaba.fastjson.JSONObject;
import com.genersoft.iot.vmp.media.zlm.ZLMHttpHookSubscribe;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import javax.sip.ResponseEvent;
import javax.sip.message.Request;
import java.util.EventObject;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@Component
public class SipSubscribe {
    private final static Logger logger = LoggerFactory.getLogger(SipSubscribe.class);
    private Map<String, SipSubscribe.Event> errorSubscribes = new ConcurrentHashMap<>();
    private Map<String, SipSubscribe.Event> allSubscribes = new ConcurrentHashMap<>();
    private Map<String, SipSubscribe.Event> okSubscribes = new ConcurrentHashMap<>();
    public interface Event {
        void response(ResponseEvent event);
    }
    public void addSubscribe(String key, SipSubscribe.Event event) {
        allSubscribes.put(key, event);
    public void addErrorSubscribe(String key, SipSubscribe.Event event) {
        errorSubscribes.put(key, event);
    }
    public SipSubscribe.Event getSubscribe(String key) {
        return allSubscribes.get(key);
    public void addOkSubscribe(String key, SipSubscribe.Event event) {
        okSubscribes.put(key, event);
    }
    public int getSize(){
        return allSubscribes.size();
    public SipSubscribe.Event getErrorSubscribe(String key) {
        return errorSubscribes.get(key);
    }
    public SipSubscribe.Event getOkSubscribe(String key) {
        return okSubscribes.get(key);
    }
    public int getErrorSubscribesSize(){
        return errorSubscribes.size();
    }
    public int getOkSubscribesSize(){
        return okSubscribes.size();
    }
}