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

namespace FLY.Thick.Base.OBJ_INTERFACE
{
    public class SCANCORR_OBJ_INTERFACE
    {

        #region Pack
        public class Pack_GetState
        {
            public int progress;
            public bool ing;
        }
        public class Pack_ValidRange
        {
            public int begin;
            public int end;
        }
        public class Pack_StartParams
        {
            public int scantimer;
            public int smoothfactor;
            public int posofgrid;
            public int poslen;
        }
        public class Pack_GroupParams
        {
            public int avgad0;
            public int avgad1;
        }
        public class Pack_CallStart
        {
            public int scantimer;
            public int smoothfactor;
            public int groupindex;
        }

        public class Pack_ClearRequest 
        {
            public int groupindex;
        }

        #endregion
        #region GetValue
        /// <summary>
        /// Pack_GetState
        /// </summary>
        public const UInt16 GET_PROGRESS = 1;
        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 GET_ENABLE = 2;
        /// <summary>
        /// Pack_StartParams
        /// </summary>
        public const UInt16 GET_START_PARAMS = 3;
        /// <summary>
        /// Pack_GroupParams
        /// </summary>
        public const UInt16 GET_GROUP_PARAMS = 4;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 GET_GROUP0_FORW = 5;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 GET_GROUP0_BACKW = 6;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 GET_GROUP1_FORW = 7;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 GET_GROUP1_BACKW = 8;

        /// <summary>
        /// Pack_ValidRange
        /// </summary>
        public const UInt16 GET_VALIDRANGE = 9;
        #endregion

        #region SetValue
        /// <summary>
        /// Pack_Enable
        /// </summary>
        public const UInt16 SET_ENABLE = 2;

        /// <summary>
        /// Pack_ValidRange
        /// </summary>
        public const UInt16 SET_VALIDRANGE = 9;
        #endregion
        
        #region CallFunction
        /// <summary>
        /// Pack_CallStart
        /// </summary>
        public const UInt16 CALL_START = 1;

        /// <summary>
        /// Pack_int
        /// </summary>
        public const UInt16 CALL_CLEAR = 2;

        /// <summary>
        /// Pack_CallStart
        /// </summary>
        public const UInt16 CALL_SMOOTH = 3;
        #endregion
        #region PushInfo
        /// <summary>
        /// Pack_GetState
        /// </summary>
        public const UInt16 PUSH_PROGRESS = 1;
        public const UInt16 PUSH_ENABLE = 2;
        public const UInt16 PUSH_START_PARAMS = 3;
        /// <summary>
        /// Pack_GroupParams
        /// </summary>
        public const UInt16 PUSH_GROUP_PARAMS = 4;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 PUSH_GROUP0_FORW = 5;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 PUSH_GROUP0_BACKW = 6;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 PUSH_GROUP1_FORW = 7;
        /// <summary>
        /// Pack_Data
        /// </summary>
        public const UInt16 PUSH_GROUP1_BACKW = 8;

        /// <summary>
        /// Pack_ValidRange
        /// </summary>
        public const UInt16 PUSH_VALIDRANGE = 9;
        #endregion

    }
}
