package com.utcloud.cookengine;

/**
 * Created by lixingchen on 2019/12/27.
 */

public interface CookCallBack {

    /**
     * 异步通知函数运行
     * @param iInstanceId 实例id
     * @param taskId 任务id
     * @param iCmdId 命令码id
     * @param iCurStep 当前步骤
     * @param iTotleStep 总步骤
     * @param funItemList 函数列表
     * @return 返回函数集的运行结果；成功返回true，失败返回false
     */
    boolean onRunAppFun(long iInstanceId, String taskId, int iCmdId, int iCurStep, int iTotleStep, CookFunItem funItemList[]);

    /**
     * 异步通知任务结束
     * @param iInstanceId 实例id
     * @param taskId 任务id
     * @return 成功返回true，失败返回false
     */
    boolean onEndTask(long iInstanceId, String taskId);

    /**
     * 异步通知菜谱实例结束（应用方不能在该函数体内直接销毁菜谱实例，需发送信号给菜谱管理器来销毁该菜谱实例）
     * @param iInstanceId 实例id
     * @param bSuccess 是否成功结束菜谱实例
     * @return 成功返回true，失败返回false
     */
    boolean onEndInstance(long iInstanceId, boolean bSuccess);
}
