using System.Net;
using Vinno.FIS.Sonopost.Managers;
using Vinno.FIS.Sonopost.Managers.Interfaces;

namespace Vinno.FIS.Sonopost.WebApi
{
    internal class BaseController
    {
        private readonly HttpListenerContext _context = null;

        /// <summary>
        /// HTTP请求上下文
        /// </summary>
        public HttpListenerContext Context { get => _context; }

        public IVersionCheckManager VersionCheckManager => AppManager.Instance.GetManager<IVersionCheckManager>();
        public IDeviceManager DeviceManager => AppManager.Instance.GetManager<IDeviceManager>();

        public IFISManager FISManager => AppManager.Instance.GetManager<IFISManager>();
        public IDicomServerManager DicomServerManager => AppManager.Instance.GetManager<IDicomServerManager>();
        public IConfigManager ConfigManager => AppManager.Instance.GetManager<IConfigManager>();
        public ILoginManager LoginManager => AppManager.Instance.GetManager<ILoginManager>();
        public INetworkManager NetworkManager => AppManager.Instance.GetManager<INetworkManager>();
        public ILiveVideoManager LiveVideoManager => AppManager.Instance.GetManager<ILiveVideoManager>();
        public IOledManager OledManager => AppManager.Instance.GetManager<IOledManager>();

        public ITestManager TestManager => AppManager.Instance.GetManager<ITestManager>();
        public IRemedicalManager RemedicalManager => AppManager.Instance.GetManager<IRemedicalManager>();

        public IKeyBoardListenManager KeyBoardListenManager => AppManager.Instance.GetManager<IKeyBoardListenManager>();
    }
}