using NIDAQmx.DAQmxEnum;
using NIDAQmxConst;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace NIDAQmx
{
    public class Location : BaseDevice
    {
        internal Location(DAQmxSession session, string deviceName) : base(session, deviceName)
        {
            _Session.CheckResult(_Session.GetDelegate<Internal.Internal.DAQmxGetDevBusType>()(DeviceName, ref busType));
            PCI = new PCI(session, deviceName);
            PXI= new PXI(session, deviceName);
            CompactDAQ = new CompactDAQ(session, deviceName);
            CompactRIO = new CompactRIO(session, deviceName);
            TCPIP= new TCPIP(session, deviceName);
        }
        private BusType busType = BusType.SCC;
        public BusType BusType => busType;
        public PCI PCI { get; }
        public PXI PXI { get; }
        public CompactDAQ CompactDAQ { get; }
        public CompactRIO CompactRIO { get; }
        public TCPIP TCPIP { get; }
    }
}
