private async void ConnectCall_Click(object sender, RoutedEventArgs e) { Debug.WriteLine("Connect Call Clicked"); // Get the IP Address in the text box var ipString = new ValidableNonEmptyString(IpString.Text); var port = new ValidableIntegerString(PortString.Text); var settings = ApplicationData.Current.LocalSettings; settings.Values["IpString"] = IpString.Text; settings.Values["PortString"] = PortString.Text; // Navigate to the next page. if (IsRunningOnHoloLens()) { // Navigate to the immersive view (with the IP address somehow). var urhoView = CoreApplication.CreateNewView( new UrhoAppViewSource <HoloApplication>( new ApplicationOptions("Data"))); var id = ApplicationView.GetForCurrentView().Id; await urhoView.Dispatcher.RunAsync(CoreDispatcherPriority.Normal, async() => { CoreWindow.GetForCurrentThread().Activate(); await ApplicationViewSwitcher.SwitchAsync(ApplicationView.GetForCurrentView().Id, id, ApplicationViewSwitchingOptions.ConsolidateViews); }); } else { this.Frame.Navigate(typeof(CallPage)); } }
public void ConnectToServer(string host, string port, string peerName) { new Task(() => { IsConnecting = true; Ip = new ValidableNonEmptyString(host); Port = new ValidableIntegerString(port); ConnectToServer(peerName); }).Start(); }
public void ConnectToServer(string host, string port, string peerName, int heartbeatMs) { Task.Run(() => { IsConnecting = true; Ip = new ValidableNonEmptyString(host); Port = new ValidableIntegerString(port); ConnectToServer(peerName, heartbeatMs); }); }
private void LoadSettings() { var settings = ApplicationData.Current.LocalSettings; var ip = new ValidableNonEmptyString((string)settings.Values["IpString"]); var port = new ValidableIntegerString((string)settings.Values["PortString"]); Ip = ip; Port = port; }
private async void ConnectCall_Click(object sender, RoutedEventArgs e) { Debug.WriteLine("Connect Call Clicked"); // Get the IP Address in the text box var ipString = new ValidableNonEmptyString(IpString.Text); var port = new ValidableIntegerString(PortString.Text); var settings = ApplicationData.Current.LocalSettings; settings.Values["IpString"] = IpString.Text; settings.Values["PortString"] = PortString.Text; this.Frame.Navigate(typeof(CallPage)); }
void LoadSettings() { // Default values: var configTraceServerIp = "127.0.0.1"; var configTraceServerPort = "55000"; var ntpServerAddress = new ValidableNonEmptyString("time.windows.com"); var peerCcServerIp = new ValidableNonEmptyString("signalingserver.centralus.cloudapp.azure.com"); var peerCcPortInt = 3000; var configIceServers = new ObservableCollection <IceServer>(); bool useDefaultIceServers = true; if (useDefaultIceServers) { // Default values: configIceServers.Clear(); configIceServers.Add(new IceServer("stun.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun1.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun2.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun3.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun4.l.google.com:19302", IceServer.ServerType.STUN)); } RunOnUiThread(() => { IceServers = configIceServers; Ip = peerCcServerIp; NtpServer = ntpServerAddress; Port = new ValidableIntegerString(peerCcPortInt, 0, 65535); ReevaluateHasServer(); }); Conductor.Instance.ConfigureIceServers(configIceServers); }
async Task LoadSettings() { // Default values: var configTraceServerIp = new ValidableNonEmptyString("127.0.0.1"); StorageFile configFile = await StorageFile.GetFileFromApplicationUriAsync( new Uri(_configFilePath)) .AsTask() .ConfigureAwait(false); string content = await FileIO.ReadTextAsync(configFile) .AsTask() .ConfigureAwait(false); JsonValue json = JsonValue.Parse(content); // Parses server info. var server = json.GetObject().GetNamedString("server"); var parsed = new Uri(server); // if we don't have an explicit port in server, and we do have a port value if (parsed.IsDefaultPort && json.GetObject().ContainsKey("port")) { // use that port value in place of the default port var b = new UriBuilder(parsed); b.Port = (int)json.GetObject().GetNamedNumber("port"); parsed = b.Uri; } // down-convert back to a string this.Uri = new ValidableNonEmptyString(parsed.ToString()); HeartBeat = new ValidableIntegerString( (int)json.GetObject().GetNamedNumber("heartbeat"), 0, 65535); // parse auth if (json.GetObject().ContainsKey("authentication")) { var authNode = json.GetObject().GetNamedObject("authentication").GetObject(); AuthCodeUri = authNode.ContainsKey("codeUri") ? authNode.GetNamedString("codeUri") : null; AuthPollUri = authNode.ContainsKey("pollUri") ? authNode.GetNamedString("pollUri") : null; } var configIceServers = new ObservableCollection <IceServer>(); // Parses turn server. if (json.GetObject().ContainsKey("turnServer")) { JsonValue turnServer = json.GetObject().GetNamedValue("turnServer"); string uri = turnServer.GetObject().GetNamedString("uri"); IceServer iceServer = new IceServer( uri.Substring(uri.IndexOf("turn:") + 5), IceServer.ServerType.TURN); if (turnServer.GetObject().ContainsKey("provider")) { // if we do this, we need to ensure we set the username and credential // in the future - we'll do this in ConnectToServer() by wiring up // an event to the Conductor.TurnClient TempTurnUri = turnServer.GetObject().GetNamedString("provider"); } else { iceServer.Username = turnServer.GetObject().GetNamedString("username"); iceServer.Credential = turnServer.GetObject().GetNamedString("password"); } configIceServers.Add(iceServer); } // Parses stun server. if (json.GetObject().ContainsKey("stunServer")) { JsonValue stunServer = json.GetObject().GetNamedValue("stunServer"); string uri = stunServer.GetObject().GetNamedString("uri"); IceServer iceServer = new IceServer( uri.Substring(uri.IndexOf("stun:") + 5), IceServer.ServerType.STUN); iceServer.Username = stunServer.GetObject().GetNamedString("username"); iceServer.Credential = stunServer.GetObject().GetNamedString("password"); configIceServers.Add(iceServer); } // Default ones. configIceServers.Add(new IceServer("stun.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun1.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun2.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun3.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun4.l.google.com:19302", IceServer.ServerType.STUN)); Conductor.Instance.ConfigureIceServers(configIceServers); var ntpServerAddress = new ValidableNonEmptyString("time.windows.com"); RunOnUiThread(() => { IceServers = configIceServers; NtpServer = ntpServerAddress; NtpServer = ntpServerAddress; ReevaluateHasServer(); }); Conductor.Instance.ConfigureIceServers(configIceServers); }
async Task LoadSettings() { // Default values: var configTraceServerIp = new ValidableNonEmptyString("127.0.0.1"); StorageFile configFile = await StorageFile.GetFileFromApplicationUriAsync( new Uri(_configFilePath)) .AsTask() .ConfigureAwait(false); string content = await FileIO.ReadTextAsync(configFile) .AsTask() .ConfigureAwait(false); JsonValue json = JsonValue.Parse(content); // Parses server info. _server = json.GetObject().GetNamedString("server"); int startId = 0; if (_server.StartsWith("http://")) { startId = 7; } else if (_server.StartsWith("https://")) { startId = 8; // TODO: Supports SSL } _server = _server.Substring(startId); _port = new ValidableIntegerString( (int)json.GetObject().GetNamedNumber("port"), 0, 65535); _heartbeat = new ValidableIntegerString( (int)json.GetObject().GetNamedNumber("heartbeat"), 0, 65535); var configIceServers = new ObservableCollection <IceServer>(); // Parses turn server. if (json.GetObject().ContainsKey("turnServer")) { JsonValue turnServer = json.GetObject().GetNamedValue("turnServer"); string uri = turnServer.GetObject().GetNamedString("uri"); IceServer iceServer = new IceServer( uri.Substring(uri.IndexOf("turn:") + 5), IceServer.ServerType.TURN); iceServer.Credential = turnServer.GetObject().GetNamedString("username"); iceServer.Username = turnServer.GetObject().GetNamedString("password"); configIceServers.Add(iceServer); } // Parses stun server. if (json.GetObject().ContainsKey("stunServer")) { JsonValue stunServer = json.GetObject().GetNamedValue("stunServer"); string uri = stunServer.GetObject().GetNamedString("uri"); IceServer iceServer = new IceServer( uri.Substring(uri.IndexOf("stun:") + 5), IceServer.ServerType.STUN); iceServer.Credential = stunServer.GetObject().GetNamedString("username"); iceServer.Username = stunServer.GetObject().GetNamedString("password"); configIceServers.Add(iceServer); } // Default ones. configIceServers.Add(new IceServer("stun.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun1.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun2.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun3.l.google.com:19302", IceServer.ServerType.STUN)); configIceServers.Add(new IceServer("stun4.l.google.com:19302", IceServer.ServerType.STUN)); Conductor.Instance.ConfigureIceServers(configIceServers); var ntpServerAddress = new ValidableNonEmptyString("time.windows.com"); RunOnUiThread(() => { IceServers = configIceServers; NtpServer = ntpServerAddress; NtpServer = ntpServerAddress; Port = _port; Ip = new ValidableNonEmptyString(_server); HeartBeat = _heartbeat; ReevaluateHasServer(); }); Conductor.Instance.ConfigureIceServers(configIceServers); }