func mqttEventCallback()

in IoT-Sample/Swift/IoTSampleSwift/ConnectionViewController.swift [39:98]


    func mqttEventCallback( _ status: AWSIoTMQTTStatus ) {
        DispatchQueue.main.async {
            let tabBarViewController = self.tabBarController as! IoTSampleTabBarController
            print("connection status = \(status.rawValue)")

            switch status {
            case .connecting:
                tabBarViewController.mqttStatus = "Connecting..."
                print( tabBarViewController.mqttStatus )
                self.logTextView.text = tabBarViewController.mqttStatus
                
            case .connected:
                tabBarViewController.mqttStatus = "Connected"
                print( tabBarViewController.mqttStatus )
                self.connectButton.setTitle( "Disconnect \(self.IOT_CERT)", for:UIControl.State())
                self.activityIndicatorView.stopAnimating()
                self.connected = true
                self.connectButton.isEnabled = true
                let uuid = UUID().uuidString;
                let defaults = UserDefaults.standard
                let certificateId = defaults.string( forKey: "certificateId")
                
                self.logTextView.text = "Using certificate:\n\(certificateId!)\n\n\nClient ID:\n\(uuid)"
                
                tabBarViewController.viewControllers = [ self, self.publishViewController, self.subscribeViewController ]
                
            case .disconnected:
                tabBarViewController.mqttStatus = "Disconnected"
                print( tabBarViewController.mqttStatus )
                self.activityIndicatorView.stopAnimating()
                self.logTextView.text = nil
                
            case .connectionRefused:
                tabBarViewController.mqttStatus = "Connection Refused"
                print( tabBarViewController.mqttStatus )
                self.activityIndicatorView.stopAnimating()
                self.logTextView.text = tabBarViewController.mqttStatus
                
            case .connectionError:
                tabBarViewController.mqttStatus = "Connection Error"
                print( tabBarViewController.mqttStatus )
                self.activityIndicatorView.stopAnimating()
                self.logTextView.text = tabBarViewController.mqttStatus
                
            case .protocolError:
                tabBarViewController.mqttStatus = "Protocol Error"
                print( tabBarViewController.mqttStatus )
                self.activityIndicatorView.stopAnimating()
                self.logTextView.text = tabBarViewController.mqttStatus
                
            default:
                tabBarViewController.mqttStatus = "Unknown State"
                print("unknown state: \(status.rawValue)")
                self.activityIndicatorView.stopAnimating()
                self.logTextView.text = tabBarViewController.mqttStatus
            }
            
            NotificationCenter.default.post( name: Notification.Name(rawValue: "connectionStatusChanged"), object: self )
        }
    }