using FLY.IBC.Common;
using FLY.IBC.OBJ_INTERFACE;
using FLY.IBC.Server.Model;
using FLY.OBJComponents.Server.OBJProxy;
using FObjBase;
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FLY.IBC.Server.OBJProxy
{
    class IBCSystem_OBJProxy : FObj
    {
        IBCSystem data;
        SyncProp_OBJProxy syncProp_OBJProxy;

        PLCProxySystem_OBJProxy plcOS_OBJProxy;


        public IBCSystem_OBJProxy(int objsys_idx, IBCSystem data) : base(objsys_idx)
        {
            ID = OBJ_INTERFACE.OBJ_INTERFACE.IBC_OBJ_ID;
            this.data = data;

            syncProp_OBJProxy = new SyncProp_OBJProxy(
                objsys_idx, ID + 1,
                new Dictionary<string, INotifyPropertyChanged>
                {
                    { "Item", data.Item }
                });


            plcOS_OBJProxy = new PLCProxySystem_OBJProxy(
                objsys_idx,
                ID + 2,
                data.PLCos
                );
        }
    }
}