using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Domain;

namespace RCUHost
{
	public interface IAirConditionStatusReceiver
	{
		/// <summary>
		/// 空调设置整体下发
		/// </summary>
		/// <param name="hostAir"></param>
		/// <param name="host"></param>
		void SendAirConditionSetting(HostAir hostAir, Host host);

		/// <summary>
		/// 空调单个属性下发
		/// </summary>
		/// <param name="host"></param>
		/// <param name="airNo"></param>
		/// <param name="property"></param>
        /// <param name="status"></param>
        /// <param name="seasonData">季节数据</param>
        void SetAirProperty(Host host, int airNo, AirProperty property, int status, byte[] seasonData = null);

		/// <summary>
		/// 设置空调补偿温度
		/// </summary>
		/// <param name="host"></param>
		/// <param name="airNo"></param>
		/// <param name="compensatoryTemp"></param>
		void SetCompensatoryTemp(Host host, int airNo, float compensatoryTemp);

		/// <summary>
		/// 设置空调锁定温度
		/// </summary>
		/// <param name="host"></param>
		/// <param name="airNo"></param>
		/// <param name="isLock"></param>
		/// <param name="lockTemp"></param>
		void SetLockTemp(Host host, int airNo, bool isLock, int lockTemp);

		/// <summary>
		/// 设置空调睡眠模式
		/// </summary>
		/// <param name="host"></param>
		/// <param name="airNo"></param>
		/// <param name="sleepFlag"></param>
		/// <param name="SleepDevition"></param>
		/// <param name="sleepStartTime"></param>
		/// <param name="sleepEndTime"></param>
		void SetSleepMode(Host host, int airNo, bool sleepFlag, int sleepDevition, string sleepStartTime, string sleepEndTime);

		/// <summary>
		///  设置空调定时设置
		/// </summary>
		/// <param name="host"></param>
		/// <param name="airNo"></param>
		/// <param name="timeFlag"></param>
		/// <param name="startTime1"></param>
		/// <param name="endTime1"></param>
		/// <param name="startTime2"></param>
		/// <param name="endTime2"></param>
		/// <param name="startTime3"></param>
		/// <param name="endTime3"></param>
		void SetTimeSetting(Host host, int airNo, bool timeFlag, string startTime1, string endTime1, string startTime2, string endTime2, string startTime3, string endTime3);
	}
}
