ShowNetworksViewController.swift 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. //
  2. // ShowNetworksViewController.swift
  3. // ZeroTier One
  4. //
  5. // Created by Grant Limberg on 5/14/16.
  6. // Copyright © 2016 ZeroTier, Inc. All rights reserved.
  7. //
  8. import Cocoa
  9. class ShowNetworksViewController: NSViewController, NSTableViewDelegate, NSTableViewDataSource {
  10. @IBOutlet var tableView: NSTableView!
  11. var networkList: [Network] = [Network]()
  12. override func viewDidLoad() {
  13. super.viewDidLoad()
  14. // Do view setup here.
  15. tableView.setDelegate(self)
  16. tableView.setDataSource(self)
  17. tableView.backgroundColor = NSColor.clearColor()
  18. }
  19. override func viewWillAppear() {
  20. super.viewWillAppear()
  21. ServiceCom.getNetworkList() { (networkList) -> Void in
  22. NSOperationQueue.mainQueue().addOperationWithBlock() { () -> Void in
  23. self.networkList = networkList
  24. self.tableView.reloadData()
  25. }
  26. }
  27. }
  28. // NSTableViewDataSource
  29. func numberOfRowsInTableView(tableView: NSTableView) -> Int {
  30. return networkList.count
  31. }
  32. // end NSTableViewDataSource
  33. // NSTableViewDelegate
  34. func tableView(tableView: NSTableView, viewForTableColumn tableColumn: NSTableColumn?, row: Int) -> NSView? {
  35. if let cell = tableView.makeViewWithIdentifier("NetworkInfoCell", owner: nil) as? NetworkInfoCell {
  36. let network = networkList[row]
  37. cell.networkIdField.stringValue = String(network.nwid, radix: 16)
  38. cell.networkNameField.stringValue = network.name
  39. cell.statusField.stringValue = network.status.description
  40. cell.typeField.stringValue = network.type.description
  41. cell.macField.stringValue = network.mac
  42. cell.mtuField.stringValue = String(network.mtu)
  43. cell.broadcastField.stringValue = network.broadcastEnabled ? "ENABLED" : "DISABLED"
  44. cell.bridgingField.stringValue = network.bridge ? "ENABLED" : "DISABLED"
  45. cell.deviceField.stringValue = network.portDeviceName
  46. cell.addressesField.stringValue = ""
  47. for nw in network.assignedAddresses {
  48. cell.addressesField.stringValue += nw
  49. cell.addressesField.stringValue += "\n"
  50. }
  51. return cell
  52. }
  53. return nil
  54. }
  55. // end NSTableViewDelegate
  56. }