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

namespace FLY.OBJComponents.OBJ_INTERFACE
{
    public class BUFFER_OBJ_INTERFACE
    {
        #region Pack
        public class Pack_GetRecordRequest
        {
            public int last_id;
            public int count;
        }
        public class Pack_GetRecordNewestRequest
        {
            public int count;
        }
        public class Pack_Status 
        {
            public int newestId;
            public int count;
        }
        public class Pack_Params 
        {
            public int capcity;
        }
        #endregion

        #region SetValue
        /// <summary>
        /// Dictionary<string, object>
        /// </summary>
        public const UInt16 SET_PARAMS = 0;
        #endregion

        #region GetValue
        /// <summary>
        /// Dictionary<string, object>
        /// </summary>
        public const UInt16 GET_PARAMS = 0;
        /// <summary>
        /// Pack_Status
        /// </summary>
        public const UInt16 GET_STATUS = 1;
        #endregion

        #region PushMsg
        /// <summary>
        /// Dictionary<string, object>
        /// </summary>
        public const UInt16 PUSH_PARAMS = 0;
        /// <summary>
        /// Pack_Status
        /// </summary>
        public const UInt16 PUSH_STATUS = 1;
        /// <summary>
        /// NotifyBufferChangedEventArgs
        /// </summary>
        public const UInt16 PUSH_BUFFERCHANGED = 10;
        #endregion
        #region Call
        /// <summary>
        /// request:int last_id, int count;
        /// reponse:GetRecordReponse<T>
        /// </summary>
        public const UInt16 CALL_GETRECORD = 1;

        /// <summary>
        /// request:int count;
        /// reponse:GetRecordReponse<T>
        /// </summary>
        public const UInt16 CALL_GETRECORD_NEWEST = 2;

        /// <summary>
        /// null
        /// </summary>
        public const UInt16 CALL_RESET = 3;
        #endregion
    }
}
