private void PairOkButton_OnClick(object sender, RoutedEventArgs e)
        {
            var senderButton = sender as Button;

            if (senderButton == null)
            {
                return;
            }

            var devicet = (ConnectableDevice)(senderButton.DataContext);

            model.SelectedDevice = devicet;

            if (devicet == null)
            {
                return;
            }

            var device         = model.SelectedDevice;
            var netCastService = (NetcastTvService)device.GetServiceByName(NetcastTvService.Id);

            if (netCastService != null)
            {
                if (!(netCastService.ServiceConfig is NetcastTvServiceConfig))
                {
                    netCastService.ServiceConfig = new NetcastTvServiceConfig(netCastService.ServiceConfig.ServiceUuid);
                }
                var netCastServiceConfig = (NetcastTvServiceConfig)netCastService.ServiceConfig;
                var txtBox = Util.FindChild <TextBox>(senderButton.Parent, "PairingKeyTextBox");


                netCastServiceConfig.PairingKey = txtBox.Text;

                netCastService.ServiceConnectionState = NetcastTvService.ConnectionState.Initial;

                device.Connect();
                if (device.IsConnected())
                {
                    netCastService.RemovePairingKeyOnTv();
                    device.OnConnectionSuccess(netCastService);
                    model.SelectedDevice = device;
                    Frame.Navigate(typeof(Sampler));
                }
            }
            else
            {
                webOstvService = (WebOstvService)device.GetServiceByName(WebOstvService.Id);
                if (webOstvService != null)
                {
                    if (!(webOstvService.ServiceConfig is WebOsTvServiceConfig))
                    {
                        webOstvService.ServiceConfig = new WebOsTvServiceConfig(webOstvService.ServiceConfig.ServiceUuid);
                    }
                    device.AddListener(listener);
                    device.Connect();
                    model.SelectedDevice.OnConnectionSuccess(webOstvService);
                }
            }
        }
        public WebOsTvKeyboardInput(WebOstvService service, bool canReplaceText)
        {
            this.service = service;
            CanReplaceText = canReplaceText;
            waiting = false;

            toSend = new List<String>();
        }
        public WebOstvServiceSocketClient(WebOstvService service, Uri uri)
        {

            destinationUri = uri;
            this.service = service;
            State = State.Initial;
            CreateSocket();
            SetDefaultManifest();
        }
        public WebOsWebAppSession(LaunchSession launchSession, DeviceService service)
            : base(launchSession, service)
        {
            uid = 0;
            mActiveCommands = new ConcurrentDictionary<String, ServiceCommand>();
            Connected = false;

            Service = (WebOstvService) service;
            mSocketListener = new WebOstvServiceSocketClientListener(this);
        }
 public static Uri GetUri(WebOstvService service)
 {
     var uriString = "ws://" + service.ServiceDescription.IpAddress + ":" + Port;
     var uri = new Uri(uriString);
     return uri;
 }