summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGrant Limberg <glimberg@gmail.com>2016-06-14 19:59:45 -0700
committerGrant Limberg <glimberg@gmail.com>2016-06-14 19:59:45 -0700
commitbae0060552e652559937287f160a550622a5cab8 (patch)
tree5af43eb6636d1fb07b3679010a1b204ab4ef7e2a
parentc8750e5812f6ad453cb482fe3ff629536e376960 (diff)
downloadinfinitytier-bae0060552e652559937287f160a550622a5cab8.tar.gz
infinitytier-bae0060552e652559937287f160a550622a5cab8.zip
add a timer to retrieve the network list every second.
-rw-r--r--ZeroTier One/ShowNetworksViewController.swift51
1 files changed, 31 insertions, 20 deletions
diff --git a/ZeroTier One/ShowNetworksViewController.swift b/ZeroTier One/ShowNetworksViewController.swift
index ed2479d1..d9a4291a 100644
--- a/ZeroTier One/ShowNetworksViewController.swift
+++ b/ZeroTier One/ShowNetworksViewController.swift
@@ -14,6 +14,9 @@ class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTable
var networkList: [Network] = [Network]()
+
+ var timer: NSTimer? = nil
+
override func viewDidLoad() {
super.viewDidLoad()
// Do view setup here.
@@ -45,10 +48,36 @@ class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTable
override func viewWillAppear() {
super.viewWillAppear()
+ updateNetworkInfo()
+
+ self.timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(updateNetworkInfo), userInfo: nil, repeats: true)
+ }
+
+ override func viewWillDisappear() {
+ super.viewWillDisappear()
+
+ self.timer?.invalidate()
+
let filePath = dataFile()
+ NSKeyedArchiver.archiveRootObject(self.networkList, toFile: filePath)
+ }
+
+ func deleteNetworkFromList(nwid: String) {
+ if let nwid = UInt64(nwid, radix: 16) {
+ let index = findNetworkWithID(nwid)
+
+ if index != NSNotFound {
+ networkList.removeAtIndex(index)
+ tableView.reloadData()
+ }
+ }
+ }
+
+ func updateNetworkInfo() {
+ let filePath = self.dataFile()
if NSFileManager.defaultManager().fileExistsAtPath(filePath) {
- networkList = NSKeyedUnarchiver.unarchiveObjectWithFile(filePath) as! [Network]
+ self.networkList = NSKeyedUnarchiver.unarchiveObjectWithFile(filePath) as! [Network]
ServiceCom.getNetworkList() { (networkList) -> Void in
@@ -85,7 +114,7 @@ class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTable
return false
})
-
+
self.networkList = networkList
self.tableView.reloadData()
}
@@ -93,24 +122,6 @@ class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTable
}
}
- override func viewWillDisappear() {
- super.viewWillDisappear()
-
- let filePath = dataFile()
- NSKeyedArchiver.archiveRootObject(self.networkList, toFile: filePath)
- }
-
- func deleteNetworkFromList(nwid: String) {
- if let nwid = UInt64(nwid, radix: 16) {
- let index = findNetworkWithID(nwid)
-
- if index != NSNotFound {
- networkList.removeAtIndex(index)
- tableView.reloadData()
- }
- }
- }
-
// NSTableViewDataSource
func numberOfRowsInTableView(tableView: NSTableView) -> Int {