12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- //
- // SGDownloadManager.h
- // OfflineBreakPointDownload
- //
- // Created by Shangen Zhang on 16/11/26.
- // Copyright © 2016年 Shangen Zhang. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "SGDownloadOperation.h"
- /** 下载中通知 */
- #define SGDownloadTaskExeing @"SGDownloadTaskExeing"
- /** 下载失败通知 */
- #define SGDownloadTaskExeError @"SGDownloadTaskExeError"
- /** 下载完成通知 */
- #define SGDownloadTaskExeEnd @"SGDownloadTaskExeEnd"
- /** 下载暂停/等待中通知 */
- #define SGDownloadTaskExeSuspend @"SGDownloadTaskExeSuspend"
- /** 删除下载任务通知 */
- #define SGDownloadTaskExeDelete @"SGDownloadTaskExeDelete"
- /** 移除loading通知 */
- #define SGDownloadRemoveLoading @"SGDownloadRemoveLoading"
- /**
- block 回调
- */
- typedef void(^SGDownloadBeginBlock)(NSString * filePath);
- typedef void(^SGDownloadProgressBlock)(NSInteger completeSize,NSInteger expectSize);
- typedef void(^SGDownloadCompleteBlock)(NSDictionary *respose,NSError *error);
- /**
- 下载管理
- */
- @interface SGDownloadManager : NSObject
- /** 获取全部下载任务 */
- - (NSMutableArray *)getAllOperation;
- /** 实例化对象(单例) */
- + (instancetype)shareManager;
- #pragma mark - 添加下载任务同时开启任务下载
- /** 开启下载任务 监听完成下载 */
- - (void)downloadWithURL:(NSURL *)url
- complete:(SGDownloadCompleteBlock)complete;
- - (void)downloadWithURL:(NSURL *)url
- fileType:(NSInteger)fileType
- fileSize:(NSInteger)fileSize
- complete:(SGDownloadCompleteBlock)complete;
- /** 开启下载任务 监听下载进度、完成下载 */
- - (void)downloadWithURL:(NSURL *)url
- progress:(SGDownloadProgressBlock)progress
- complete:(SGDownloadCompleteBlock)complete;
- /** 开启下载任务 监听开始下载信息、下载进度、完成下载 */
- - (void)downloadWithURL:(NSURL *)url
- begin:(SGDownloadBeginBlock)begin
- progress:(SGDownloadProgressBlock)progress
- complete:(SGDownloadCompleteBlock)complete;
- #pragma mark - 队列中的任务进行操作
- /** 开始任务(不会自动添加任务,列队中没有就直接返回) */
- - (void)startDownLoadWithUrl:(NSString *)url;
- /** 暂停任务(暂停下载url内容的任务) */
- - (void)supendDownloadWithUrl:(NSString *)url;
- /** 取消任务(取消下载url内容的任务) */
- - (void)cancelDownloadWithUrl:(NSString *)url;
- /** 暂停当前所有的下载任务 下载任务不会从列队中删除 */
- - (void)suspendAllDownloadTask;
- /** 开启当前列队中所有被暂停的下载任务 */
- - (void)startAllDownloadTask;
- /** 停止当前所有的下载任务 调用此方法会清空所有列队下载任务 */
- - (void)stopAllDownloads;
- @end
|