using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FObjBase;
using System.IO;
using System.Xml.Serialization;
using FLY.FeedbackRenZiJia.Common;
using FLY.FeedbackRenZiJia.IService;

namespace FLY.FeedbackRenZiJia.OBJ_INTERFACE
{
    public class FEEDBACK_OBJ_INTERFACE
    {
        #region pack
        public class Pack_Params
        {
            public int step;
            public int delay;
            public bool hasCheck;
            public bool HasCheckFilmVelocity;
        }

        public class Pack_Status
        {
            public int channelcnt;
            public int nbolts;

            public bool isConnected;

            public DateTime lastChangedTime;
        }

        public class Pack_Error 
        {
            public bool hasFan;
            public bool hasEletric;
            public int checkno;
            public bool[] bads = null;
        }

        public class Pack_Undo
        {
            public int undoIdx;
            public bool isInUndo;
            public DateTime undoTime;
        }

        #endregion

        #region Get
        /// <summary>
        /// Pack_Params
        /// </summary>
        public const UInt16 GET_PARAMS = 1;//参数
        /// <summary>
        /// Pack_Status
        /// </summary>
        public const UInt16 GET_STATE = 2;

        /// <summary>
        /// Pack_Error
        /// </summary>
        public const UInt16 GET_ERROR = 8;

        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 GET_CHECKENABLE = 9;

        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 GET_ENABLE = 10;

        /// <summary>
        /// Pack_String
        /// </summary>
        public const UInt16 GET_PRODUCTNAME = 11;

        /// <summary>
        /// Pack_undo
        /// </summary>
        public const UInt16 GET_UNDOIDX = 13;
        #endregion

        #region Set
        /// <summary>
        /// Pack_Params
        /// </summary>
        public const UInt16 SET_PARAMS = 1;//参数


        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 SET_CHECKENABLE = 9;

        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 SET_ENABLE = 10;
        #endregion

        #region Call
        
        /// <summary>
        /// request:Pack_String
        /// reponse:null 
        /// </summary>
        public const UInt16 CALL_SAVEHEATS = 7;

        /// <summary>
        /// request:Pack_String
        /// reponse:null
        /// </summary>
        public const UInt16 CALL_LOADHEATS = 8;
 
        /// <summary>
        /// request:null ;
        /// reponse:Pack_StringList
        /// </summary>
        public const UInt16 CALL_GETLIST = 10;
        /// <summary>
        /// request:Pack_String ;
        /// reponse:null
        /// </summary>
        public const UInt16 CALL_DEL = 11;

        /// <summary>
        /// request:null
        /// reponse:null
        /// </summary>
        public const UInt16 CALL_UNDO = 13;

        /// <summary>
        /// request:null
        /// reponse:null
        /// </summary>
        public const UInt16 CALL_REDO = 14;
        #endregion

        #region Push
        /// <summary>
        /// Pack_Params
        /// </summary>
        public const UInt16 PUSH_PARAMS = 1;//参数
        /// <summary>
        /// Pack_Status
        /// </summary>
        public const UInt16 PUSH_STATE = 2;

        /// <summary>
        /// Pack_Error
        /// </summary>
        public const UInt16 PUSH_ERROR = 8;

        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 PUSH_CHECKENABLE = 9;

        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 PUSH_ENABLE = 10;


        /// <summary>
        /// Pack_String
        /// </summary>
        public const UInt16 PUSH_PRODUCTNAME = 11;

        /// <summary>
        /// Pack_undo
        /// </summary>
        public const UInt16 PUSH_UNDOIDX = 13;
        #endregion

    }
}