summaryrefslogtreecommitdiff
path: root/windows/WinUI/NetworkListView.xaml.cs
diff options
context:
space:
mode:
authorGrant Limberg <grant.limberg@zerotier.com>2016-11-18 13:52:48 -0800
committerGrant Limberg <grant.limberg@zerotier.com>2016-11-18 13:52:48 -0800
commite48d6880c92b87efb694798b43873dc07a570035 (patch)
tree55e050bddd6ba6106902be4034d6fd70af023c27 /windows/WinUI/NetworkListView.xaml.cs
parentdbe1461886256bb5e9c1f7c6cb02525e57ee12c2 (diff)
downloadinfinitytier-e48d6880c92b87efb694798b43873dc07a570035.tar.gz
infinitytier-e48d6880c92b87efb694798b43873dc07a570035.zip
Wired up connected checkbox and delete button. just something not working with refresh.
Diffstat (limited to 'windows/WinUI/NetworkListView.xaml.cs')
-rw-r--r--windows/WinUI/NetworkListView.xaml.cs79
1 files changed, 7 insertions, 72 deletions
diff --git a/windows/WinUI/NetworkListView.xaml.cs b/windows/WinUI/NetworkListView.xaml.cs
index c89d4bcc..586f5dc2 100644
--- a/windows/WinUI/NetworkListView.xaml.cs
+++ b/windows/WinUI/NetworkListView.xaml.cs
@@ -28,69 +28,22 @@ namespace WinUI
Regex charRegex = new Regex("[0-9a-fxA-FX]");
Regex wholeStringRegex = new Regex("^[0-9a-fxA-FX]+$");
- Timer timer = new Timer();
-
- bool connected = false;
-
public NetworkListView()
{
InitializeComponent();
- APIHandler.Instance.GetStatus(updateStatus);
-
- if (!connected)
- {
- MessageBox.Show("Unable to connect to ZerOTier Service");
- return;
- }
-
- APIHandler.Instance.GetNetworks(updateNetworks);
-
- DataObject.AddPastingHandler(joinNetworkID, OnPaste);
-
- timer.Elapsed += new ElapsedEventHandler(OnUpdateTimer);
- timer.Interval = 2000;
- timer.Enabled = true;
+ Closed += onClosed;
-
+ NetworkMonitor.Instance.SubscribeNetworkUpdates(updateNetworks);
}
- private void updateStatus(ZeroTierStatus status)
+ ~NetworkListView()
{
- if (status != null)
- {
- connected = true;
-
- networkId.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
- {
- this.networkId.Text = status.Address;
- }));
- versionString.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
- {
- this.versionString.Content = status.Version;
- }));
- onlineStatus.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
- {
- this.onlineStatus.Content = (status.Online ? "ONLINE" : "OFFLINE");
- }));
- }
- else
- {
- connected = false;
+ }
- networkId.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
- {
- this.networkId.Text = "";
- }));
- versionString.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
- {
- this.versionString.Content = "0";
- }));
- onlineStatus.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new Action(() =>
- {
- this.onlineStatus.Content = "OFFLINE";
- }));
- }
+ private void onClosed(object sender, System.EventArgs e)
+ {
+ NetworkMonitor.Instance.UnsubscribeNetworkUpdates(updateNetworks);
}
private void updateNetworks(List<ZeroTierNetwork> networks)
@@ -104,24 +57,6 @@ namespace WinUI
}
}
- private void OnUpdateTimer(object source, ElapsedEventArgs e)
- {
- APIHandler.Instance.GetStatus(updateStatus);
- APIHandler.Instance.GetNetworks(updateNetworks);
- }
-
- private void joinButton_Click(object sender, RoutedEventArgs e)
- {
- if (joinNetworkID.Text.Length < 16)
- {
- MessageBox.Show("Invalid Network ID");
- }
- else
- {
- APIHandler.Instance.JoinNetwork(joinNetworkID.Text);
- }
- }
-
private void OnNetworkEntered(object sender, TextCompositionEventArgs e)
{
e.Handled = !charRegex.IsMatch(e.Text);