NodeStatus.swift 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. //
  2. // NodeStatus.swift
  3. // ZeroTier One
  4. //
  5. // Created by Grant Limberg on 6/30/16.
  6. // Copyright © 2016 ZeroTier, Inc. All rights reserved.
  7. //
  8. import Cocoa
  9. class NodeStatus: NSObject {
  10. var address: String = ""
  11. var publicIdentity: String = ""
  12. var online: Bool = false
  13. var tcpFallbackActive: Bool = false
  14. var versionMajor: Int = 0
  15. var versionMinor: Int = 0
  16. var versionRev: Int = 0
  17. var version: String = ""
  18. var clock: UInt64 = 0
  19. init(jsonData: [String: AnyObject]) {
  20. if let a = jsonData["address"] as? String {
  21. self.address = a
  22. }
  23. if let p = jsonData["publicIdentity"] as? String {
  24. self.publicIdentity = p
  25. }
  26. if let o = jsonData["online"] as? NSNumber {
  27. self.online = o.boolValue
  28. }
  29. if let t = jsonData["tcpFallbackActive"] as? NSNumber {
  30. self.tcpFallbackActive = t.boolValue
  31. }
  32. if let v = jsonData["versionMajor"] as? NSNumber {
  33. self.versionMajor = v.integerValue
  34. }
  35. if let v = jsonData["versionMinor"] as? NSNumber {
  36. self.versionMinor = v.integerValue
  37. }
  38. if let v = jsonData["versionRev"] as? NSNumber {
  39. self.versionRev = v.integerValue
  40. }
  41. if let v = jsonData["version"] as? String {
  42. self.version = v
  43. }
  44. if let c = jsonData["version"] as? NSNumber {
  45. self.clock = c.unsignedLongLongValue
  46. }
  47. }
  48. }