using Mirle.Component.API.AutomatedGuideVehicleController.Models;
using System.Threading.Tasks;
namespace Mirle.Component.API.AutomatedGuideVehicleController.Modules
{
///
/// Automated Guide Vehicle Contoller 商業邏輯介面
///
/// Message dirction of automated guide vehicle controller to warehouse control system
public interface IFromAutomatedGuideVehicleControllerModule
{
///
/// 處理發派任務回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 2.1.c
public Task ProcessSetMissionResultAsync(SetMissionResultDto message, string address);
///
/// 處理控制任務回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 2.2.c
public Task ProcessSetMissionStatusResultAsync(SetMissionStatusResultDto message, string address);
///
/// 處理車輛清單回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 2.3.c
public Task ProcessSetAmrListResultAsync(SetAmrListResultDto message, string address);
///
/// 處理訊問車況回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 2.4.c
public Task ProcessSetAmrHealthResultAsync(SetAmrHealthResultDto message, string address);
///
/// 處理緊急狀況結果回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 2.5.c
public Task ProcessSetAmrEmergencyResultAsync(SetAmrEmergencyResultDto message, string address);
///
/// 處理硬體元件錯誤回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 3.1.alert
public Task ProcessComponentFaultAlertAsync(ComponentFaultAlertDto message, string address);
///
/// 處理心跳包回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 3.2.Heartbeat
public Task ProcessHeartbeatAsync(HeartbeatReportDto message, string address);
///
/// 處理系統狀態回報
///
/// 回報訊息
/// 網路位址
/// 已成功完成的工作
/// Process message of 3.3.Online
public Task ProcessOnlineAsync(OnlineReportDto message, string address);
}
}