internal async Task InvitingMemberAsync(InviteMember inviteWindow) { var addressBook = new DirectEntryAddressBook(this.CryptoProvider, new HttpClient()); var endpoint = await addressBook.LookupAsync(inviteWindow.PublicEndpointUrlBox.Text); if (endpoint != null) { try { this.AddMember(inviteWindow.FriendlyNameBox.Text, endpoint); } catch (InvalidOperationException ex) { MessageBox.Show(ex.Message); } } inviteWindow.Close(); }
/// <summary> /// Queries the user for the remote endpoint to send messages to. /// </summary> /// <param name="defaultEndpoint">The user's own endpoint, to use for loopback demos in the event the user has no friend to talk to.</param> /// <returns>A task whose result is the remote endpoint to use.</returns> private async Task<Endpoint> GetFriendEndpointAsync(Endpoint defaultEndpoint) { do { Console.Write("Enter your friend's public endpoint URL (leave blank for loopback): "); string url = Console.ReadLine(); if (string.IsNullOrWhiteSpace(url)) { return defaultEndpoint; } var addressBook = new DirectEntryAddressBook(new System.Net.Http.HttpClient()); var endpoint = await addressBook.LookupAsync(url); if (endpoint != null) { return endpoint; } else { Console.WriteLine("Unable to find endpoint."); continue; } } while (true); }
private async void ChatWithAuthor_OnClick(object sender, RoutedEventArgs e) { var chatroomWindow = this.container.Resolve<ChatroomWindow>(); chatroomWindow.Show(); var addressBook = new DirectEntryAddressBook(new HttpClient()); var endpoint = await addressBook.LookupAsync("http://tinyurl.com/omhxu6l#-Rrs7LRrCE3bV8x58j1l4JUzAT3P2obKia73k3IFG9k"); chatroomWindow.AddMember("App author", endpoint); }