public NSUrlConnectionWrapper(NSUrlRequest request, EscozUrlStreamDelegate del) : base(request, del, true) { if (Connections.ContainsKey(del.Name)) { KillConnection(del.Name); } Connections.Add(del.Name, this); }
public static void LaunchDown (string url, bool callbackOnMainThread, Action<Stream> callback) { Util.PushNetworkActive (); Uri uri = new Uri (url); // Wake up 3G if it has been more than 3 minutes lock (minuteLock){ var nowTicks = DateTime.UtcNow.Ticks; if (nowTicks-lastLaunchTick > TimeSpan.TicksPerMinute*3) MonoTouch.ObjCRuntime.Runtime.StartWWAN (uri); lastLaunchTick = nowTicks; } var req = new NSMutableUrlRequest(new NSUrl(url), NSUrlRequestCachePolicy.ReloadIgnoringCacheData,5); //req["User-Agent"]=_UserAgent; var mydelegate = new EscozUrlStreamDelegate(url,(result)=> { try { Util.PopNetworkActive (); if (callbackOnMainThread) invoker.BeginInvokeOnMainThread (delegate { callback(result); }); else callback(result); } catch (Exception e){ Util.LogException("LaunchDown", e); } } ); //new NSUrlConnectionWrapper(req, mydelegate); invoker.BeginInvokeOnMainThread(()=> { new NSUrlConnection(req, mydelegate, true); }); }