當前位置: 首頁>>代碼示例>>Java>>正文


Java MAPServiceSupplementaryListener類代碼示例

本文整理匯總了Java中org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener的典型用法代碼示例。如果您正苦於以下問題:Java MAPServiceSupplementaryListener類的具體用法?Java MAPServiceSupplementaryListener怎麽用?Java MAPServiceSupplementaryListener使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


MAPServiceSupplementaryListener類屬於org.mobicents.protocols.ss7.map.api.service.supplementary包,在下文中一共展示了MAPServiceSupplementaryListener類的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: registerSSResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void registerSSResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    RegisterSSResponseImpl ind = new RegisterSSResponseImpl();

    if (parameter != null) {
        // we do not check tag / tagClass because it is a choice

        byte[] buf = parameter.getData();
        AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());
        ind.decodeData(ais, buf.length);
    }

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onRegisterSSResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onRegisterSSResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:25,代碼來源:MAPServiceSupplementaryImpl.java

示例2: eraseSSResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void eraseSSResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    EraseSSResponseImpl ind = new EraseSSResponseImpl();

    if (parameter != null) {
        // we do not check tag / tagClass because it is a choice

        byte[] buf = parameter.getData();
        AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

        ind.decodeData(ais, buf.length);
    }

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onEraseSSResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onEraseSSResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:26,代碼來源:MAPServiceSupplementaryImpl.java

示例3: activateSSResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void activateSSResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    ActivateSSResponseImpl ind = new ActivateSSResponseImpl();

    if (parameter != null) {
        // we do not check tag / tagClass because it is a choice

        byte[] buf = parameter.getData();
        AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

        ind.decodeData(ais, buf.length);
    }

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onActivateSSResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onActivateSSResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:26,代碼來源:MAPServiceSupplementaryImpl.java

示例4: deactivateSSResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void deactivateSSResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    DeactivateSSResponseImpl ind = new DeactivateSSResponseImpl();

    if (parameter != null) {
        // we do not check tag / tagClass because it is a choice

        byte[] buf = parameter.getData();
        AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

        ind.decodeData(ais, buf.length);
    }

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onDeactivateSSResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onDeactivateSSResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:26,代碼來源:MAPServiceSupplementaryImpl.java

示例5: unstructuredSSNotifyResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void unstructuredSSNotifyResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {

    UnstructuredSSNotifyResponseImpl ind = new UnstructuredSSNotifyResponseImpl();
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onUnstructuredSSNotifyResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing unstructuredSSNotifyIndication: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:17,代碼來源:MAPServiceSupplementaryImpl.java

示例6: registerSSRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void registerSSRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId) throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding registerSSRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.SEQUENCE || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding registerSSRequest: Bad tag or tagClass or parameter is primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    RegisterSSRequestImpl ind = new RegisterSSRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onRegisterSSRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing registerSSRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:28,代碼來源:MAPServiceSupplementaryImpl.java

示例7: eraseSSRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void eraseSSRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId) throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding eraseSSRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.SEQUENCE || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding eraseSSRequest: Bad tag or tagClass or parameter is primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    EraseSSRequestImpl ind = new EraseSSRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onEraseSSRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing onEraseSSRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:28,代碼來源:MAPServiceSupplementaryImpl.java

示例8: activateSSRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void activateSSRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId) throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding activateSSRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.SEQUENCE || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding activateSSRequest: Bad tag or tagClass or parameter is primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    ActivateSSRequestImpl ind = new ActivateSSRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onActivateSSRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing onActivateSSRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:28,代碼來源:MAPServiceSupplementaryImpl.java

示例9: deactivateSSRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void deactivateSSRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId) throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding deactivateSSRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.SEQUENCE || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding deactivateSSRequest: Bad tag or tagClass or parameter is primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    DeactivateSSRequestImpl ind = new DeactivateSSRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onDeactivateSSRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing onDeactivateSSRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:28,代碼來源:MAPServiceSupplementaryImpl.java

示例10: interrogateSSRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void interrogateSSRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId) throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding interrogateSSRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.SEQUENCE || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding interrogateSSRequest: Bad tag or tagClass or parameter is primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    InterrogateSSRequestImpl ind = new InterrogateSSRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onInterrogateSSRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing onInterrogateSSRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:28,代碼來源:MAPServiceSupplementaryImpl.java

示例11: interrogateSSResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void interrogateSSResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    InterrogateSSResponseImpl ind = new InterrogateSSResponseImpl();

    if (parameter == null)
        throw new MAPParsingComponentException(
                "Error while decoding interrogateSSResponse: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    // we do not check tag / tagClass because it is a choice

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    ind.decodeData(ais, buf.length);

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onInterrogateSSResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onInterrogateSSResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:29,代碼來源:MAPServiceSupplementaryImpl.java

示例12: getPasswordRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void getPasswordRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId, Long linkedId, Invoke linkedInvoke)
        throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding getPasswordRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.ENUMERATED || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || !parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding getPasswordRequest: Bad tag or tagClass or parameter is not primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    GetPasswordRequestImpl ind = new GetPasswordRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setLinkedId(linkedId);
    ind.setLinkedInvoke(linkedInvoke);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onGetPasswordRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing onGetPasswordRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:31,代碼來源:MAPServiceSupplementaryImpl.java

示例13: getPasswordResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void getPasswordResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    GetPasswordResponseImpl ind = new GetPasswordResponseImpl();

    if (parameter == null)
        throw new MAPParsingComponentException(
                "Error while decoding getPasswordResponse: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.STRING_NUMERIC || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || !parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding getPasswordResponse: Bad tag or tagClass or parameter is not primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    ind.decodeData(ais, buf.length);

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onGetPasswordResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onGetPasswordResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:32,代碼來源:MAPServiceSupplementaryImpl.java

示例14: registerPasswordRequest

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void registerPasswordRequest(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId) throws MAPParsingComponentException {
    if (parameter == null)
        throw new MAPParsingComponentException("Error while decoding registerPasswordRequest: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.STRING_OCTET || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || !parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding registerPasswordRequest: Bad tag or tagClass or parameter is not primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    RegisterPasswordRequestImpl ind = new RegisterPasswordRequestImpl();
    ind.decodeData(ais, buf.length);
    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onRegisterPasswordRequest(ind);
        } catch (Exception e) {
            loger.error("Error processing onRegisterPasswordRequest: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:28,代碼來源:MAPServiceSupplementaryImpl.java

示例15: registerPasswordResponse

import org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener; //導入依賴的package包/類
private void registerPasswordResponse(Parameter parameter, MAPDialogSupplementaryImpl mapDialogImpl, Long invokeId)
        throws MAPParsingComponentException {
    RegisterPasswordResponseImpl ind = new RegisterPasswordResponseImpl();

    if (parameter == null)
        throw new MAPParsingComponentException(
                "Error while decoding registerPasswordResponse: Parameter is mandatory but not found",
                MAPParsingComponentExceptionReason.MistypedParameter);

    if (parameter.getTag() != Tag.STRING_NUMERIC || parameter.getTagClass() != Tag.CLASS_UNIVERSAL || !parameter.isPrimitive())
        throw new MAPParsingComponentException(
                "Error while decoding registerPasswordResponse: Bad tag or tagClass or parameter is not primitive, received tag=" + parameter.getTag(),
                MAPParsingComponentExceptionReason.MistypedParameter);

    byte[] buf = parameter.getData();
    AsnInputStream ais = new AsnInputStream(buf, parameter.getTagClass(), parameter.isPrimitive(), parameter.getTag());

    ind.decodeData(ais, buf.length);

    ind.setInvokeId(invokeId);
    ind.setMAPDialog(mapDialogImpl);

    for (MAPServiceListener serLis : this.serviceListeners) {
        try {
            serLis.onMAPMessage(ind);
            ((MAPServiceSupplementaryListener) serLis).onRegisterPasswordResponse(ind);
        } catch (Exception e) {
            loger.error("Error processing onRegisterPasswordResponse: " + e.getMessage(), e);
        }
    }
}
 
開發者ID:RestComm,項目名稱:phone-simulator,代碼行數:32,代碼來源:MAPServiceSupplementaryImpl.java


注:本文中的org.mobicents.protocols.ss7.map.api.service.supplementary.MAPServiceSupplementaryListener類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。