Exemplo n.º 1
0
        public virtual void DownloadTile(TileInfo tileInfo, AsyncTileRequestCompletedHandler callback)
        {
            Uri            tileUri    = GetUri(tileInfo);
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(tileUri);

            this.tileDownloader.Download(tileInfo, this, callback);
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
0
        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);
        }
Exemplo n.º 4
0
 public abstract void Download(TileInfo tileInfo, TileSource tileSource, AsyncTileRequestCompletedHandler callback, NetworkPriority networkPriority);
Exemplo n.º 5
0
 public void Download(TileInfo tileInfo, TileSource tileSource, AsyncTileRequestCompletedHandler callback)
 {
     Download(tileInfo, tileSource, callback, NetworkPriority.Normal);
 }
Exemplo n.º 6
0
 public AsyncTileRequest(Uri uri, TileInfo tileInfo, AsyncTileRequestCompletedHandler callback)
 {
     this.uri      = uri;
     this.callback = callback;
 }
Exemplo n.º 7
0
        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);
        }