2015-10-20 04:17:18 +00:00
|
|
|
|
using System;
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
using System.Linq;
|
|
|
|
|
using System.Text;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
using System.Windows;
|
|
|
|
|
using System.Windows.Controls;
|
|
|
|
|
using System.Windows.Data;
|
|
|
|
|
using System.Windows.Documents;
|
|
|
|
|
using System.Windows.Input;
|
|
|
|
|
using System.Windows.Media;
|
|
|
|
|
using System.Windows.Media.Imaging;
|
|
|
|
|
using System.Windows.Navigation;
|
|
|
|
|
using System.Windows.Shapes;
|
|
|
|
|
|
|
|
|
|
namespace WinUI
|
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
|
|
|
|
/// Interaction logic for NetworkInfoView.xaml
|
|
|
|
|
/// </summary>
|
2015-10-22 03:29:03 +00:00
|
|
|
|
public partial class NetworkInfoView : UserControl
|
2015-10-20 04:17:18 +00:00
|
|
|
|
{
|
2015-10-27 02:53:03 +00:00
|
|
|
|
private ZeroTierNetwork network;
|
2015-10-22 03:29:03 +00:00
|
|
|
|
|
2016-11-09 00:31:07 +00:00
|
|
|
|
public NetworkInfoView(ZeroTierNetwork network)
|
2015-10-20 04:17:18 +00:00
|
|
|
|
{
|
|
|
|
|
InitializeComponent();
|
2015-10-27 02:53:03 +00:00
|
|
|
|
|
2015-10-22 03:29:03 +00:00
|
|
|
|
this.network = network;
|
|
|
|
|
|
2015-10-23 22:36:42 +00:00
|
|
|
|
UpdateNetworkData();
|
2015-10-22 03:29:03 +00:00
|
|
|
|
}
|
|
|
|
|
|
2015-10-23 22:36:42 +00:00
|
|
|
|
private void UpdateNetworkData()
|
2015-10-22 03:29:03 +00:00
|
|
|
|
{
|
2015-10-23 22:36:42 +00:00
|
|
|
|
this.networkId.Text = network.NetworkId;
|
|
|
|
|
this.networkName.Text = network.NetworkName;
|
|
|
|
|
this.networkStatus.Text = network.NetworkStatus;
|
|
|
|
|
this.networkType.Text = network.NetworkType;
|
|
|
|
|
this.macAddress.Text = network.MacAddress;
|
|
|
|
|
this.mtu.Text = network.MTU.ToString();
|
|
|
|
|
this.broadcastEnabled.Text = (network.BroadcastEnabled ? "ENABLED" : "DISABLED");
|
|
|
|
|
this.bridgingEnabled.Text = (network.Bridge ? "ENABLED" : "DISABLED");
|
|
|
|
|
this.deviceName.Text = network.DeviceName;
|
2015-10-22 03:29:03 +00:00
|
|
|
|
|
|
|
|
|
string iplist = "";
|
2015-10-23 22:36:42 +00:00
|
|
|
|
for (int i = 0; i < network.AssignedAddresses.Length; ++i)
|
2015-10-22 03:29:03 +00:00
|
|
|
|
{
|
2015-10-23 22:36:42 +00:00
|
|
|
|
iplist += network.AssignedAddresses[i];
|
|
|
|
|
if (i < (network.AssignedAddresses.Length - 1))
|
2015-10-22 03:29:03 +00:00
|
|
|
|
iplist += "\n";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
this.managedIps.Text = iplist;
|
2016-11-04 19:39:57 +00:00
|
|
|
|
|
|
|
|
|
this.allowDefault.IsChecked = network.AllowDefault;
|
|
|
|
|
this.allowGlobal.IsChecked = network.AllowGlobal;
|
|
|
|
|
this.allowManaged.IsChecked = network.AllowManaged;
|
2016-11-04 21:50:07 +00:00
|
|
|
|
|
|
|
|
|
allowDefault.Checked += AllowDefault_CheckStateChanged;
|
|
|
|
|
allowDefault.Unchecked += AllowDefault_CheckStateChanged;
|
|
|
|
|
allowGlobal.Checked += AllowGlobal_CheckStateChanged;
|
|
|
|
|
allowGlobal.Unchecked += AllowGlobal_CheckStateChanged;
|
|
|
|
|
allowManaged.Checked += AllowManaged_CheckStateChanged;
|
|
|
|
|
allowManaged.Unchecked += AllowManaged_CheckStateChanged;
|
|
|
|
|
|
2015-10-22 03:29:03 +00:00
|
|
|
|
}
|
|
|
|
|
|
2015-10-23 22:36:42 +00:00
|
|
|
|
public bool HasNetwork(ZeroTierNetwork network)
|
2015-10-22 03:29:03 +00:00
|
|
|
|
{
|
2015-10-23 22:36:42 +00:00
|
|
|
|
if (this.network.NetworkId.Equals(network.NetworkId))
|
2015-10-22 03:29:03 +00:00
|
|
|
|
return true;
|
|
|
|
|
|
|
|
|
|
return false;
|
2015-10-20 04:17:18 +00:00
|
|
|
|
}
|
2015-10-27 02:53:03 +00:00
|
|
|
|
|
|
|
|
|
private void leaveButton_Click(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
2016-11-09 00:31:07 +00:00
|
|
|
|
APIHandler.Instance.LeaveNetwork(network.NetworkId);
|
2015-10-27 02:53:03 +00:00
|
|
|
|
}
|
2016-11-04 19:39:57 +00:00
|
|
|
|
|
|
|
|
|
private void AllowManaged_CheckStateChanged(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
CheckBox cb = sender as CheckBox;
|
2016-11-09 00:31:07 +00:00
|
|
|
|
APIHandler.Instance.JoinNetwork(network.NetworkId,
|
2016-11-04 19:39:57 +00:00
|
|
|
|
allowManaged.IsChecked ?? false,
|
|
|
|
|
allowGlobal.IsChecked ?? false,
|
|
|
|
|
allowDefault.IsChecked ?? false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AllowGlobal_CheckStateChanged(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
CheckBox cb = sender as CheckBox;
|
2016-11-09 00:31:07 +00:00
|
|
|
|
APIHandler.Instance.JoinNetwork(network.NetworkId,
|
2016-11-04 19:39:57 +00:00
|
|
|
|
allowManaged.IsChecked ?? false,
|
|
|
|
|
allowGlobal.IsChecked ?? false,
|
|
|
|
|
allowDefault.IsChecked ?? false);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
private void AllowDefault_CheckStateChanged(object sender, RoutedEventArgs e)
|
|
|
|
|
{
|
|
|
|
|
CheckBox cb = sender as CheckBox;
|
2016-11-09 00:31:07 +00:00
|
|
|
|
APIHandler.Instance.JoinNetwork(network.NetworkId,
|
2016-11-04 19:39:57 +00:00
|
|
|
|
allowManaged.IsChecked ?? false,
|
|
|
|
|
allowGlobal.IsChecked ?? false,
|
|
|
|
|
allowDefault.IsChecked ?? false);
|
|
|
|
|
}
|
2015-10-20 04:17:18 +00:00
|
|
|
|
}
|
|
|
|
|
}
|