public void TestToxBootstrapAndConnectTcp() { var tox = new Tox(new ToxOptions(true, false)); var error = ToxErrorBootstrap.Ok; foreach (var node in Globals.TcpRelays) { bool result = tox.AddTcpRelay(node, out error); if (!result || error != ToxErrorBootstrap.Ok) Assert.Fail("Failed to bootstrap error: {0}, result: {1}", error, result); } tox.Start(); while (!tox.IsConnected) { Thread.Sleep(10); } Console.WriteLine("Tox connected!"); tox.Dispose(); }
public void TestToxProxySocks5() { var options = new ToxOptions(true, ToxProxyType.Socks5, "127.0.0.1", 9050); var tox = new Tox(options); var error = ToxErrorBootstrap.Ok; foreach (var node in Globals.TcpRelays) { bool result = tox.AddTcpRelay(node, out error); if (!result || error != ToxErrorBootstrap.Ok) Assert.Fail("Failed to bootstrap, error: {0}, result: {1}", error, result); } tox.Start(); while (!tox.IsConnected) { Thread.Sleep(10); } Console.WriteLine("Tox connected!"); tox.Dispose(); }
public MainWindow() { InitializeComponent(); this.DataContext = new MainWindowViewModel(); tox = new Tox(false); tox.Invoker = Dispatcher.BeginInvoke; tox.OnNameChange += tox_OnNameChange; tox.OnFriendMessage += tox_OnFriendMessage; tox.OnFriendAction += tox_OnFriendAction; tox.OnFriendRequest += tox_OnFriendRequest; tox.OnUserStatus += tox_OnUserStatus; tox.OnStatusMessage += tox_OnStatusMessage; tox.OnTypingChange += tox_OnTypingChange; tox.OnConnectionStatusChanged += tox_OnConnectionStatusChanged; tox.OnFileSendRequest += tox_OnFileSendRequest; tox.OnFileData += tox_OnFileData; tox.OnFileControl += tox_OnFileControl; tox.OnGroupInvite += tox_OnGroupInvite; tox.OnGroupMessage += tox_OnGroupMessage; tox.OnGroupAction += tox_OnGroupAction; tox.OnGroupNamelistChange += tox_OnGroupNamelistChange; toxav = new ToxAv(tox.GetPointer(), ToxAv.DefaultCodecSettings, 1); toxav.Invoker = Dispatcher.BeginInvoke; toxav.OnInvite += toxav_OnInvite; toxav.OnStart += toxav_OnStart; toxav.OnStarting += toxav_OnStart; toxav.OnEnd += toxav_OnEnd; toxav.OnEnding += toxav_OnEnd; toxav.OnPeerTimeout += toxav_OnEnd; toxav.OnRequestTimeout += toxav_OnEnd; toxav.OnReject += toxav_OnEnd; toxav.OnCancel += toxav_OnEnd; toxav.OnReceivedAudio += toxav_OnReceivedAudio; toxav.OnMediaChange += toxav_OnMediaChange; bool bootstrap_success = false; foreach (ToxNode node in nodes) { if (tox.BootstrapFromNode(node)) bootstrap_success = true; } if (File.Exists("data")) { if (!tox.Load("data")) { MessageBox.Show("Could not load tox data, this program will now exit.", "Error"); Close(); } } tox.Start(); if (string.IsNullOrEmpty(tox.GetSelfName())) tox.SetName("Toxy User"); this.ViewModel.MainToxyUser.Name = tox.GetSelfName(); this.ViewModel.MainToxyUser.StatusMessage = tox.GetSelfStatusMessage(); InitializeNotifyIcon(); SetStatus(null); InitFriends(); if (tox.GetFriendlistCount() > 0) this.ViewModel.SelectedChatObject = this.ViewModel.ChatCollection.OfType<IFriendObject>().FirstOrDefault(); }