package com.dji.sdk.cloudapi.log.api;
|
|
import com.dji.sdk.cloudapi.log.*;
|
import com.dji.sdk.config.version.GatewayManager;
|
import com.dji.sdk.mqtt.ChannelName;
|
import com.dji.sdk.mqtt.MqttReply;
|
import com.dji.sdk.mqtt.events.EventsDataRequest;
|
import com.dji.sdk.mqtt.events.TopicEventsRequest;
|
import com.dji.sdk.mqtt.events.TopicEventsResponse;
|
import com.dji.sdk.mqtt.services.ServicesPublish;
|
import com.dji.sdk.mqtt.services.ServicesReplyData;
|
import com.dji.sdk.mqtt.services.TopicServicesResponse;
|
import com.fasterxml.jackson.core.type.TypeReference;
|
import org.springframework.integration.annotation.ServiceActivator;
|
import org.springframework.messaging.Message;
|
import org.springframework.messaging.MessageHeaders;
|
|
import javax.annotation.Resource;
|
|
/**
|
* @author sean
|
* @version 1.7
|
* @date 2023/6/28
|
*/
|
public abstract class AbstractLogService {
|
|
@Resource
|
private ServicesPublish servicesPublish;
|
|
/**
|
* Inform of file uploading progress
|
* @param request data
|
* @param headers The headers for a {@link Message}.
|
* @return events_reply
|
*/
|
@ServiceActivator(inputChannel = ChannelName.INBOUND_EVENTS_FILEUPLOAD_PROGRESS, outputChannel = ChannelName.OUTBOUND_EVENTS)
|
public TopicEventsResponse<MqttReply> fileuploadProgress(TopicEventsRequest<EventsDataRequest<FileUploadProgress>> request, MessageHeaders headers) {
|
throw new UnsupportedOperationException("fileuploadProgress not implemented");
|
}
|
|
/**
|
* Get file list of uploadable device
|
* @param gateway
|
* @param request data
|
* @return services_reply
|
*/
|
public TopicServicesResponse<ServicesReplyData<FileUploadListResponse>> fileuploadList(GatewayManager gateway, FileUploadListRequest request) {
|
return servicesPublish.publish(
|
new TypeReference<FileUploadListResponse>() {},
|
gateway.getGatewaySn(),
|
LogMethodEnum.FILE_UPLOAD_LIST.getMethod(),
|
request);
|
}
|
|
/**
|
* Start the log file uploading
|
* @param gateway
|
* @param request data
|
* @return services_reply
|
*/
|
public TopicServicesResponse<ServicesReplyData> fileuploadStart(GatewayManager gateway, FileUploadStartRequest request) {
|
return servicesPublish.publish(
|
gateway.getGatewaySn(),
|
LogMethodEnum.FILE_UPLOAD_START.getMethod(),
|
request);
|
}
|
|
/**
|
* Update the uploding state
|
* @param gateway
|
* @param request data
|
* @return services_reply
|
*/
|
public TopicServicesResponse<ServicesReplyData> fileuploadUpdate(GatewayManager gateway, FileUploadUpdateRequest request) {
|
return servicesPublish.publish(
|
gateway.getGatewaySn(),
|
LogMethodEnum.FILE_UPLOAD_UPDATE.getMethod(),
|
request);
|
}
|
|
}
|