/** * @since Available in iOS 2.0 and later. */ public boolean setCallback(ClientCallback callback) { SCNetworkReachabilityContext context = new SCNetworkReachabilityContext(); context.setInfo(localRefconId); synchronized (callbacks) { callbacks.put(localRefconId, callback); } return setCallback(new FunctionPtr(cbInvoke), context); } /*<methods>*/
public void stopNotifier() { // First stop, any callbacks! reachability.setCallback(null); // Unregister target from the GCD serial dispatch queue. reachability.setDispatchQueue(null); reachabilityObject = null; }
public boolean startNotifier() { // allow start notifier to be called multiple times if (reachabilityObject != null && reachabilityObject == this) { return true; } if (reachability.setCallback(new ClientCallback() { @Override public void invoke(SCNetworkReachability target, SCNetworkReachabilityFlags flags) { reachabilityChanged(flags); } })) { // Set it as our reachability queue, which will retain the queue if (reachability.setDispatchQueue(reachabilitySerialQueue)) { // this should do a retain on ourself, so as long as we're in // notifier mode we shouldn't disappear out from under ourselves reachabilityObject = this; return true; } else { System.err.println(SCStatus.getStatusDescription(SCStatus.getLastStatus())); // Failure - stop any callbacks! reachability.setCallback(null); } } else { System.err.println(SCStatus.getStatusDescription(SCStatus.getLastStatus())); } // if we get here we fail at the internet reachabilityObject = null; return false; }
/** * @since Available in iOS 2.0 and later. */ public boolean setCallback(ClientCallback callback) { SCNetworkReachabilityContext context = new SCNetworkReachabilityContext(); context.setInfo(localRefconId); synchronized (callbacks) { callbacks.put(localRefconId, callback); } return setCallback(new FunctionPtr(cbInvoke), context); } /*<methods>*/
/** * @since Available in iOS 2.0 and later. */ public boolean setCallback(ClientCallback callback) { SCNetworkReachabilityContext context = new SCNetworkReachabilityContext(); context.setInfo(localRefconId); synchronized (callbacks) { callbacks.put(localRefconId, callback); } return setCallback(new FunctionPtr(cbInvoke), context); } /*<methods>*/