001package com.aispeech.dui.dds.agent;
002
003import org.json.JSONObject;
004
005public interface DMTaskCallbackSync {
006
007    /**
008     * 支持callback的dmTask类型
009     */
010    enum Type {
011        /**
012         * dm.output
013         */
014        DM_OUTPUT("dm.output"),
015
016        /**
017         * rt.output
018         */
019        RT_OUTPUT("rt.output"),
020
021        /**
022         * cdm.error
023         */
024        CDM_ERROR("cdm.error");
025
026        private String value;
027
028        Type(String value) {
029            this.value = value;
030        }
031
032        public static DMTaskCallbackSync.Type getTypeByVal(String val) {
033            for (DMTaskCallbackSync.Type type : values()) {
034                if (type.value.equals(val)) {
035                    return type;
036                }
037            }
038            return null;
039        }
040    }
041
042    /**
043     * 同步对话task结果回调
044     *
045     * @param dmTaskResult 对话task结果
046     * @param type         结果类型{@link DMTaskCallback.Type}
047     */
048    void onDMTaskResultSync(JSONObject dmTaskResult, DMTaskCallbackSync.Type type);
049}