2016-05-14 22:42:45 +00:00
|
|
|
//
|
|
|
|
// ShowNetworksViewController.swift
|
|
|
|
// ZeroTier One
|
|
|
|
//
|
|
|
|
// Created by Grant Limberg on 5/14/16.
|
|
|
|
// Copyright © 2016 ZeroTier, Inc. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
import Cocoa
|
|
|
|
|
2016-05-18 02:41:54 +00:00
|
|
|
class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource {
|
2016-05-14 22:42:45 +00:00
|
|
|
|
2016-05-17 02:08:00 +00:00
|
|
|
@IBOutlet var tableView: NSTableView!
|
|
|
|
|
2016-05-18 02:41:54 +00:00
|
|
|
var networkList: [Network] = [Network]()
|
|
|
|
|
2016-05-14 22:42:45 +00:00
|
|
|
override func viewDidLoad() {
|
|
|
|
super.viewDidLoad()
|
|
|
|
// Do view setup here.
|
2016-05-18 02:41:54 +00:00
|
|
|
|
|
|
|
tableView.setDelegate(self)
|
|
|
|
tableView.setDataSource(self)
|
2016-05-14 22:42:45 +00:00
|
|
|
}
|
2016-05-17 02:58:24 +00:00
|
|
|
|
|
|
|
override func viewWillAppear() {
|
|
|
|
super.viewWillAppear()
|
|
|
|
|
2016-05-18 02:41:54 +00:00
|
|
|
ServiceCom.getNetworkList() { (networkList) -> Void in
|
|
|
|
NSOperationQueue.mainQueue().addOperationWithBlock() { () -> Void in
|
|
|
|
self.networkList = networkList
|
|
|
|
self.tableView.reloadData()
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// NSTableViewDataSource
|
|
|
|
|
|
|
|
func numberOfRowsInTableView(tableView: NSTableView) -> Int {
|
|
|
|
return networkList.count
|
2016-05-17 02:58:24 +00:00
|
|
|
}
|
2016-05-18 02:41:54 +00:00
|
|
|
|
|
|
|
// end NSTableViewDataSource
|
2016-05-27 20:28:32 +00:00
|
|
|
|
|
|
|
// NSTableViewDelegate
|
|
|
|
|
|
|
|
func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
|
|
|
|
if let cell = tableView.makeViewWithIdentifier("NetworkInfoCell", owner: nil) as? NetworkInfoCell {
|
|
|
|
let network = networkList[row]
|
|
|
|
cell.networkIdField.stringValue = String(network.nwid, radix: 16)
|
|
|
|
cell.networkNameField.stringValue = network.name
|
|
|
|
|
2016-05-27 20:48:22 +00:00
|
|
|
cell.statusField.stringValue = network.status.description
|
|
|
|
cell.typeField.stringValue = network.type.description
|
|
|
|
cell.macField.stringValue = network.mac
|
|
|
|
cell.mtuField.stringValue = String(network.mtu)
|
|
|
|
cell.broadcastField.stringValue = network.broadcastEnabled ? "ENABLED" : "DISABLED"
|
|
|
|
cell.bridgingField.stringValue = network.bridge ? "ENABLED" : "DISABLED"
|
|
|
|
cell.deviceField.stringValue = network.portDeviceName
|
|
|
|
|
|
|
|
|
|
|
|
cell.addressesField.stringValue = ""
|
|
|
|
|
|
|
|
for nw in network.assignedAddresses {
|
|
|
|
cell.addressesField.stringValue += nw
|
|
|
|
cell.addressesField.stringValue += "\n"
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2016-05-27 20:28:32 +00:00
|
|
|
return cell
|
|
|
|
}
|
|
|
|
|
|
|
|
return nil
|
|
|
|
}
|
|
|
|
|
|
|
|
// end NSTableViewDelegate
|
2016-05-14 22:42:45 +00:00
|
|
|
}
|