LuxChat  2.0
Instant messenger for iOS
SDWebImageManager.h
1 /*
2  * This file is part of the SDWebImage package.
3  * (c) Olivier Poitrey <rs@dailymotion.com>
4  *
5  * For the full copyright and license information, please view the LICENSE
6  * file that was distributed with this source code.
7  */
8 
9 #import "SDWebImageCompat.h"
10 #import "SDWebImageOperation.h"
11 #import "SDWebImageDownloader.h"
12 #import "SDImageCache.h"
13 
14 typedef NS_OPTIONS(NSUInteger, SDWebImageOptions) {
19  SDWebImageRetryFailed = 1 << 0,
20 
25  SDWebImageLowPriority = 1 << 1,
26 
30  SDWebImageCacheMemoryOnly = 1 << 2,
31 
36  SDWebImageProgressiveDownload = 1 << 3,
37 
46  SDWebImageRefreshCached = 1 << 4,
47 
52  SDWebImageContinueInBackground = 1 << 5,
53 
58  SDWebImageHandleCookies = 1 << 6,
59 
64  SDWebImageAllowInvalidSSLCertificates = 1 << 7,
65 
71  SDWebImageHighPriority = 1 << 8,
72 
77  SDWebImageDelayPlaceholder = 1 << 9,
78 
84  SDWebImageTransformAnimatedImage = 1 << 10,
85 
91  SDWebImageAvoidAutoSetImage = 1 << 11
92 };
93 
94 typedef void(^SDWebImageCompletionBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType, NSURL *imageURL);
95 
96 typedef void(^SDWebImageCompletionWithFinishedBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished, NSURL *imageURL);
97 
98 typedef NSString *(^SDWebImageCacheKeyFilterBlock)(NSURL *url);
99 
100 
101 @class SDWebImageManager;
102 
103 @protocol SDWebImageManagerDelegate <NSObject>
104 
105 @optional
106 
115 - (BOOL)imageManager:(SDWebImageManager *)imageManager shouldDownloadImageForURL:(NSURL *)imageURL;
116 
127 - (UIImage *)imageManager:(SDWebImageManager *)imageManager transformDownloadedImage:(UIImage *)image withURL:(NSURL *)imageURL;
128 
129 @end
130 
153 @interface SDWebImageManager : NSObject
154 
155 @property (weak, nonatomic) id <SDWebImageManagerDelegate> delegate;
156 
157 @property (strong, nonatomic, readonly) SDImageCache *imageCache;
158 @property (strong, nonatomic, readonly) SDWebImageDownloader *imageDownloader;
159 
176 @property (nonatomic, copy) SDWebImageCacheKeyFilterBlock cacheKeyFilter;
177 
184 
207 - (id <SDWebImageOperation>)downloadImageWithURL:(NSURL *)url
208  options:(SDWebImageOptions)options
209  progress:(SDWebImageDownloaderProgressBlock)progressBlock
210  completed:(SDWebImageCompletionWithFinishedBlock)completedBlock;
211 
220 - (void)saveImageToCache:(UIImage *)image forURL:(NSURL *)url;
221 
225 - (void)cancelAll;
226 
230 - (BOOL)isRunning;
231 
239 - (BOOL)cachedImageExistsForURL:(NSURL *)url;
240 
248 - (BOOL)diskImageExistsForURL:(NSURL *)url;
249 
258 - (void)cachedImageExistsForURL:(NSURL *)url
259  completion:(SDWebImageCheckCacheCompletionBlock)completionBlock;
260 
269 - (void)diskImageExistsForURL:(NSURL *)url
270  completion:(SDWebImageCheckCacheCompletionBlock)completionBlock;
271 
272 
276 - (NSString *)cacheKeyForURL:(NSURL *)url;
277 
278 @end
279 
280 
281 #pragma mark - Deprecated
282 
283 typedef void(^SDWebImageCompletedBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType) __deprecated_msg("Block type deprecated. Use `SDWebImageCompletionBlock`");
284 typedef void(^SDWebImageCompletedWithFinishedBlock)(UIImage *image, NSError *error, SDImageCacheType cacheType, BOOL finished) __deprecated_msg("Block type deprecated. Use `SDWebImageCompletionWithFinishedBlock`");
285 
286 
288 
294 - (id <SDWebImageOperation>)downloadWithURL:(NSURL *)url
295  options:(SDWebImageOptions)options
296  progress:(SDWebImageDownloaderProgressBlock)progressBlock
297  completed:(SDWebImageCompletedWithFinishedBlock)completedBlock __deprecated_msg("Method deprecated. Use `downloadImageWithURL:options:progress:completed:`");
298 
299 @end
Definition: SDWebImageManager.h:103
Definition: SDImageCache.h:37
void cancelAll()
Definition: SDWebImageManager.m:291
SDWebImageManager * sharedManager()
Definition: SDWebImageManager.m:31
Definition: SDWebImageOperation.h:11
Definition: SDWebImageManager.h:287
SDWebImageCacheKeyFilterBlock cacheKeyFilter
Definition: SDWebImageManager.h:176
BOOL isRunning()
Definition: SDWebImageManager.m:299
Definition: SDWebImageDownloader.h:78
Definition: SDWebImageManager.h:153