LuxChat  2.0
Instant messenger for iOS
SDImageCache.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 <Foundation/Foundation.h>
10 #import "SDWebImageCompat.h"
11 
12 typedef NS_ENUM(NSInteger, SDImageCacheType) {
16  SDImageCacheTypeNone,
20  SDImageCacheTypeDisk,
24  SDImageCacheTypeMemory
25 };
26 
27 typedef void(^SDWebImageQueryCompletedBlock)(UIImage *image, SDImageCacheType cacheType);
28 
29 typedef void(^SDWebImageCheckCacheCompletionBlock)(BOOL isInCache);
30 
31 typedef void(^SDWebImageCalculateSizeBlock)(NSUInteger fileCount, NSUInteger totalSize);
32 
37 @interface SDImageCache : NSObject
38 
43 @property (assign, nonatomic) BOOL shouldDecompressImages;
44 
48 @property (assign, nonatomic) NSUInteger maxMemoryCost;
49 
53 @property (assign, nonatomic) NSUInteger maxMemoryCountLimit;
54 
58 @property (assign, nonatomic) NSInteger maxCacheAge;
59 
63 @property (assign, nonatomic) NSUInteger maxCacheSize;
64 
71 
77 - (id)initWithNamespace:(NSString *)ns;
78 
79 -(NSString *)makeDiskCachePath:(NSString*)fullNamespace;
80 
87 - (void)addReadOnlyCachePath:(NSString *)path;
88 
95 - (void)storeImage:(UIImage *)image forKey:(NSString *)key;
96 
104 - (void)storeImage:(UIImage *)image forKey:(NSString *)key toDisk:(BOOL)toDisk;
105 
117 - (void)storeImage:(UIImage *)image recalculateFromImage:(BOOL)recalculate imageData:(NSData *)imageData forKey:(NSString *)key toDisk:(BOOL)toDisk;
118 
124 - (NSOperation *)queryDiskCacheForKey:(NSString *)key done:(SDWebImageQueryCompletedBlock)doneBlock;
125 
131 - (UIImage *)imageFromMemoryCacheForKey:(NSString *)key;
132 
138 - (UIImage *)imageFromDiskCacheForKey:(NSString *)key;
139 
145 - (void)removeImageForKey:(NSString *)key;
146 
147 
154 - (void)removeImageForKey:(NSString *)key withCompletion:(SDWebImageNoParamsBlock)completion;
155 
162 - (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk;
163 
171 - (void)removeImageForKey:(NSString *)key fromDisk:(BOOL)fromDisk withCompletion:(SDWebImageNoParamsBlock)completion;
172 
176 - (void)clearMemory;
177 
182 - (void)clearDiskOnCompletion:(SDWebImageNoParamsBlock)completion;
183 
188 - (void)clearDisk;
189 
194 - (void)cleanDiskWithCompletionBlock:(SDWebImageNoParamsBlock)completionBlock;
195 
200 - (void)cleanDisk;
201 
205 - (NSUInteger)getSize;
206 
210 - (NSUInteger)getDiskCount;
211 
215 - (void)calculateSizeWithCompletionBlock:(SDWebImageCalculateSizeBlock)completionBlock;
216 
224 - (void)diskImageExistsWithKey:(NSString *)key completion:(SDWebImageCheckCacheCompletionBlock)completionBlock;
225 
233 - (BOOL)diskImageExistsWithKey:(NSString *)key;
234 
243 - (NSString *)cachePathForKey:(NSString *)key inPath:(NSString *)path;
244 
252 - (NSString *)defaultCachePathForKey:(NSString *)key;
253 
254 @end
Definition: SDImageCache.h:37
NSUInteger maxMemoryCountLimit
Definition: SDImageCache.h:53
void clearDisk()
Definition: SDImageCache.m:419
SDImageCache * sharedImageCache()
Definition: SDImageCache.m:73
void clearMemory()
Definition: SDImageCache.m:415
NSInteger maxCacheAge
Definition: SDImageCache.h:58
NSUInteger maxCacheSize
Definition: SDImageCache.h:63
NSUInteger getSize()
Definition: SDImageCache.m:542
NSUInteger maxMemoryCost
Definition: SDImageCache.h:48
NSUInteger getDiskCount()
Definition: SDImageCache.m:555
BOOL shouldDecompressImages
Definition: SDImageCache.h:43
typedef NS_ENUM(NSInteger, FIRStorageTaskStatus)
Definition: FIRStorageConstants.h:69
void cleanDisk()
Definition: SDImageCache.m:440