1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- //
- // SGDownloadQueue.h
- // OfflineBreakPointDownload
- //
- // Created by Shangen Zhang on 16/11/26.
- // Copyright © 2016年 Shangen Zhang. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- /** 下载处理 */
- typedef enum : NSUInteger {
- DownloadHandleTypeStart, // 开始下载
- DownloadHandleTypeSuspend, // 暂停下载
- DownloadHandleTypeCancel, // 取消下载
- } DownloadHandleType;
- @interface SGDownloadQueue : NSObject
- /** 设置最大的并发下载个数 */
- @property (nonatomic, assign) NSInteger maxCount;
- @property (nonatomic,strong) NSURLSession *session;
- // 添加下载任务
- - (void)addDownloadWithSession:(NSURLSession *)session
- URL:(NSURL *)url
- begin:(void(^)(NSString * filePath))begin
- progress:(void(^)(NSInteger completeSize,NSInteger expectSize))progress
- complete:(void(^)(NSDictionary *respose,NSError *error))complet;
- - (void)addDownloadWithSession:(NSURLSession *)session
- URL:(NSURL *)url
- fileType:(NSInteger)fileType
- fileSize:(NSInteger)fileSize
- begin:(void(^)(NSString * filePath))begin
- progress:(void(^)(NSInteger completeSize,NSInteger expectSize))progress
- complete:(void(^)(NSDictionary *respose,NSError *error))complet;
- // 对当前任务进行操作
- - (void)operateDownloadWithUrl:(NSString *)url session:(NSURLSession *)session handle:(DownloadHandleType)handle;
- // 取消所有任务
- //- (void)cancelAllTasks;
- - (void)suspendAllTasksWithSession:(NSURLSession *)session;
- - (void)startAllTasksWithSession:(NSURLSession *)session;
- // 供downloader 处理下载调用
- - (void)dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response;
- - (void)dataTask:(NSURLSessionDataTask *)dataTask didReceiveData:(NSData *)data;
- - (void)task:(NSURLSessionTask *)task didCompleteWithError:(NSError *)error;
- @end
|