示例#1
0
        public MainForm()
        {
            InitializeComponent();
            _cookieContainer = new CookieContainer();

            var addresses = Dns.GetHostEntry(Dns.GetHostName())
                            .AddressList
                            .Where(ip => ip.AddressFamily == AddressFamily.InterNetwork)
                            .ToList();

            _discoveryClient = new CrossInterfaceRokuDeviceDiscoveryClient(addresses);
        }
        public static async Task <IRokuDevice> DiscoverFirstDeviceAsync(this IRokuDeviceDiscoveryClient client, CancellationToken cancellationToken = default(CancellationToken))
        {
            IRokuDevice device = null;

            await client.DiscoverDevicesAsync(
                context =>
            {
                device = context.Device;

                return(Task.FromResult(true));
            });

            return(device);
        }
        public static async Task <IRokuDevice> DiscoverSpecificDeviceAsync(this IRokuDeviceDiscoveryClient client, string serialNumber, CancellationToken cancellationToken = default(CancellationToken))
        {
            IRokuDevice device = null;

            await client.DiscoverDevicesAsync(
                context =>
            {
                if (StringComparer.OrdinalIgnoreCase.Equals(context.SerialNumber, serialNumber))
                {
                    device = context.Device;

                    return(Task.FromResult(true));
                }

                return(Task.FromResult(false));
            });

            return(device);
        }
示例#4
0
 public MainForm()
 {
     InitializeComponent();
     _cookieContainer = new CookieContainer();
     _discoveryClient = new UdpRokuDeviceDiscoveryClient();
 }