public virtual void DownloadTile(TileInfo tileInfo, AsyncTileRequestCompletedHandler callback) { Uri tileUri = GetUri(tileInfo); HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(tileUri); this.tileDownloader.Download(tileInfo, this, callback); }
public override void Download(TileInfo tileInfo, TileSource tileSource, AsyncTileRequestCompletedHandler callback, NetworkPriority networkPriority) { AsyncTileRequest tileRequest; if (this.tileRequests.TryGetValue(tileSource, out tileRequest)) { throw new InvalidOperationException("Multiple concurrent downloads of the same tile is not supported."); } AsyncTileRequestQueue.Instance.CreateRequest(tileSource.GetUri(tileInfo), tileInfo, networkPriority, callback); }
public virtual void DownloadTile(TileInfo tileInfo, AsyncTileRequestCompletedHandler callback) { Uri tileUri = GetTileUri(tileInfo); // Attach the events after tile request downloaded. tileDownloader.TileDownloadCompleted += (sender, e) => { callback(e.TileInfo.Content, null); }; // Start download the image and attach the content. tileDownloader.StartDownload(tileUri, tileInfo); }
public abstract void Download(TileInfo tileInfo, TileSource tileSource, AsyncTileRequestCompletedHandler callback, NetworkPriority networkPriority);
public void Download(TileInfo tileInfo, TileSource tileSource, AsyncTileRequestCompletedHandler callback) { Download(tileInfo, tileSource, callback, NetworkPriority.Normal); }
public AsyncTileRequest(Uri uri, TileInfo tileInfo, AsyncTileRequestCompletedHandler callback) { this.uri = uri; this.callback = callback; }
public AsyncTileRequest CreateRequest(Uri uri, TileInfo tileInfo, NetworkPriority networkPriority, AsyncTileRequestCompletedHandler callback) { AsyncTileRequest tempTileRequest = new AsyncTileRequest(uri, tileInfo, callback) { NetworkPriority = networkPriority }; lock (this.pendingRequests) { this.pendingRequests.Add(tempTileRequest); } this.thereMayBeWorkToDo.Set(); return(tempTileRequest); }