package com.dji.sample.manage.service; import com.dji.sample.component.mqtt.model.CommonTopicReceiver; import com.dji.sample.manage.model.dto.DeviceFirmwareDTO; import com.dji.sample.manage.model.dto.DeviceFirmwareNoteDTO; import com.dji.sample.manage.model.dto.DeviceFirmwareUpgradeDTO; import com.dji.sample.manage.model.param.DeviceOtaCreateParam; import org.springframework.messaging.MessageHeaders; import java.util.List; import java.util.Optional; /** * @author sean * @version 1.2 * @date 2022/8/16 */ public interface IDeviceFirmwareService { /** * Query specific firmware information based on the device model and firmware version. * @param deviceName * @param version * @return */ Optional getFirmware(String deviceName, String version); /** * Get the latest firmware release note for this device model. * @param deviceName * @return */ Optional getLatestFirmwareReleaseNote(String deviceName); /** * Get the firmware information that the device needs to update. * @param upgradeDTOS * @return */ List getDeviceOtaFirmware(List upgradeDTOS); /** * Interface to handle device firmware update progress. * @param receiver * @param headers */ void handleOtaProgress(CommonTopicReceiver receiver, MessageHeaders headers); }