internal void Complete(SafeImage safeImage)
 {
     lock (syncRoot)
     {
         if (!cancelled)
         {
             this.safeImage = safeImage;
         }
         else if (safeImage != null)
         {
             try 
             { 
                 safeImage.Dispose();
             }
             catch { }
         }
         isCompleted = true;
     }
 }
Example #2
0
 bool saveImage(SafeImage image, RomMatch romMatch, ThumbGroup thumbGroup, ThumbType thumbType)
 {
     if (!doWork)
         return false;
     lock (romMatch.SyncRoot)
     {
         if (!romMatch.OwnedByThread())
             return false;
         if (image != null)
         {
             thumbGroup.GetThumbObject(thumbType).SetSafeImage(image.Image);
             thumbGroup.SaveThumb(thumbType);
         }
     }
     return true;
 }
 public static BitmapDownloadResult BeginBitmapFromWeb(string url)
 {
     BitmapDownloadResult result = new BitmapDownloadResult();
     try
     {
         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
         request.UserAgent = EmulatorsCore.USER_AGENT;
         request.BeginGetResponse((asyncRes) =>
         {
             SafeImage safeImage = null;
             try
             {
                 using (HttpWebResponse response = request.EndGetResponse(asyncRes) as HttpWebResponse)
                     safeImage = new SafeImage(response.GetResponseStream());
             }
             catch (Exception ex)
             {
                 Logger.LogError("Error downloading thumb from {0} - {1}", url, ex.Message);
             }
             finally
             {
                 result.Complete(safeImage);
             }
         }, null);
     }
     catch (Exception ex)
     {
         Logger.LogError("Error downloading thumb from {0} - {1}", url, ex.Message);
         return null;
     }
     return result;
 }