package com.sz.admin.monitor.service;

import com.mybatisflex.core.service.IService;
import com.sz.admin.monitor.pojo.dto.edgebox.AlgorithmTaskDTO;
import com.sz.admin.monitor.pojo.po.Camera;
import com.sz.admin.monitor.pojo.vo.watchful.WatchfulVO;
import com.sz.admin.monitor.utils.AlgMediaConfigResponse;

/**
 * ClassName: IpChannelService
 * Package: com.sz.admin.monitor.service
 * Description:
 */
public interface IpChannelService extends IService<Camera> {
    // 根据通道号查询摄像头信息
    Camera getByChannelId(Integer channelId);
    // 视频预览接口
    String preview(Long id) ;

    // 停止预览
    Integer stopPreview(Long id, String uuid);
    // 云台控制
    Object ptzControl(Long id, Integer direction, int speed, int startFlag);
    // 控制预置位
    Object controlPreset(Long id, int ptzPresetCmd, int dwPresetIndex, String pointName, int isBasicPoint);

    // 心跳保活
    void userHeartbeat(Long id,String uuid);

    // 控制云台守望功能
    boolean ControlSentinel(Long id, int openOrNo, int watchTime, Integer presetIndex);

    // 获取云台守望的参数
    WatchfulVO getWatchful(Long id);
    // 配置算法任务
    AlgMediaConfigResponse configAlg(AlgorithmTaskDTO algTaskConfigDto);

//    void resetSentinel(int channelId, int watchTime, int presetIndex);
}
