package com.djhk.uav.uav.service;

import com.djhk.common.core.domain.R;
import com.djhk.uav.uav.model.SyunDronePayloadParam;
import com.djhk.uav.uav.model.SyunFlyToPointParam;
import com.djhk.uav.uav.model.SyunPayloadCommandsParam;
import com.djhk.uav.uav.model.SyunTakeoffToPointParam;

/**
 * @description
 * @author jiachengshuai
 * @date 2023/4/3 21:29:49
 * @version 1.0
 */
public interface IControlService
{

    R controlDock(String sn, String serviceIdentifier, String action);

    R takeoffToPoint(SyunTakeoffToPointParam syunTakeoffToPointParam);

    R flyToPoint(SyunFlyToPointParam syunFlyToPointParam);

    R deviceFlyToPoint(SyunFlyToPointParam syunFlyToPointParam);

    R flyToPointStop(String dockSn);

    R payloadCommands(SyunPayloadCommandsParam syunPayloadCommandsParam);

    R seizeAuthority(String authority, SyunDronePayloadParam syunDronePayloadParam);

    void takeoffToPointReply(String eventsReceiver);

    void flyToPointReply(String eventsReceiver);

    void handleReturnHome(String gatewaySn);
}
