Esempio n. 1
0
        public static IServiceCollection AddWinLirc(this IServiceCollection services, Action <WinLircConfig> configure)
        {
            var options = new WinLircConfig();

            configure?.Invoke(options);

            if (options.Enabled)
            {
                services.TryAddSingleton <WinLircConfig>(options);
                services.TryAddSingleton <IWinLircConnection, WinLircConnection>();
                services.TryAddSingleton <IWinLircManager, WinLircManager>();
                services.TryAddScoped(typeof(IWinLircSwitchRepository <,>), typeof(WinLircSwitchRepository <,>));

                services.AdditionalSwitchConfiguration(o =>
                {
                    o.AddSwitch(typeof(IWinLircSwitchRepository <,>));
                });
            }

            return(services);
        }
Esempio n. 2
0
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="manager">The PowerStripManager to use.</param>
 public WinLircSwitchRepository(IWinLircManager manager, WinLircConfig config)
 {
     this.manager = manager;
     this.config  = config;
 }
Esempio n. 3
0
 public WinLircConnection(WinLircConfig config)
 {
     tcpClient = new TcpClient();
     tcpClient.Connect(config.Host, config.Port);
     tcpStream = tcpClient.GetStream();
 }