Ejemplo n.º 1
0
 public void Dispose()
 {
     if (_reachability != null)
     {
         _reachability.Unschedule();
         _reachability.Dispose();
     }
 }
Ejemplo n.º 2
0
 public void Dispose()
 {
     if (_reachability != null)
     {
         _reachability.Unschedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
         _reachability.Dispose();
     }
 }
Ejemplo n.º 3
0
 public void Dispose()
 {
     if (_Reachability == null)
     {
         return;
     }
     _Reachability.Unschedule();
     _Reachability.Dispose();
 }
        public void CreateConnectivityWatchDog(Action <bool> connectivityChanged)
        {
            this.connectivityChanged = connectivityChanged;

            if (remoteHostReachability == null)
            {
                if (remoteHostReachability != null)
                {
                    remoteHostReachability.Unschedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
                }

                // Create new instance if host address changed.
                remoteHostReachability = new NetworkReachability(new System.Net.IPAddress(0));
                remoteHostReachability.SetNotification(HandleReachabilityChanged);
                remoteHostReachability.Schedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
            }

            // Trigger callback.
            if (this.connectivityChanged != null)
            {
                this.connectivityChanged(true);
            }
        }
Ejemplo n.º 5
0
        void CreateHostReachability()
        {
            if (hostReachability != null)
            {
                hostReachability.Unschedule();
                hostReachability.Dispose();
            }

            if (String.IsNullOrEmpty(HostTextField.StringValue))
            {
                HostIcon.Image = NSImage.ImageNamed("disconnected");
                HostStatusTextField.StringValue = "Enter a host name or IP address";
                return;
            }

            hostReachability = new NetworkReachability(HostTextField.StringValue);
            hostReachability.SetNotification(flags => UpdateReachability(flags, HostIcon, HostStatusTextField));
            hostReachability.Schedule();

            NetworkReachabilityFlags networkReachabilityFlags;

            networkReachability.TryGetFlags(out networkReachabilityFlags);
            UpdateReachability(networkReachabilityFlags, NetworkIcon, NetworkStatusTextField);
        }
Ejemplo n.º 6
0
 public void StopMonitoring()
 {
     _reachability.Unschedule(CFRunLoop.Current, CFRunLoop.ModeDefault);
 }