using FLY.IBC.Server.Model;
using FLY.OBJComponents.Server.OBJProxy;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Text;
using System.Threading.Tasks;

namespace FLY.IBC.Server.OBJProxy
{
    public class OBJProxy
    {
        IBCSystem_OBJProxy ibcSystemOBJProxy;

        Buffer_OBJProxy<Db_Width> mWidthListOBJProxy;

        WarningSystem_OBJProxy mWarnSystemOBJProxy;
        public OBJProxy(int objsys_idx, TDGage gage) 
        {
            TDGage mGage = gage;
            ibcSystemOBJProxy = new IBCSystem_OBJProxy(objsys_idx, gage.mData);

            mWidthListOBJProxy = new Buffer_OBJProxy<Db_Width>(
                objsys_idx,
                OBJ_INTERFACE.OBJ_INTERFACE.IBC_OBJ_CTRLLIST_ID,
                gage.mHistoryDb.WidthBuffer);

            mWarnSystemOBJProxy = new WarningSystem_OBJProxy(
                objsys_idx,
                OBJ_INTERFACE.OBJ_INTERFACE.WARNING_OBJ_ID,
                gage.mWarning);

            ibcSystemOBJProxy.CurrObjSys.Start_Conn_Server(
                new IPEndPoint(IPAddress.Any, gage.mSysParam.OBJ_Port), ibcSystemOBJProxy.ID);

        }
    }
}