12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- //
- // RQDownloadManager.h
- // TEST
- //
- // Created by 张嵘 on 2018/10/22.
- // Copyright © 2018 张嵘. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "RQDownloadHeader.h"
- NS_ASSUME_NONNULL_BEGIN
- typedef NS_ENUM(NSUInteger, RQOperationType) {
- RQOperationType_startAll,
- RQOperationType_suspendAll ,
- RQOperationType_resumeAll,
- RQOperationType_stopAll
- };
- #define kRQDownloadManager [RQDownloadManager sharedManager]
- @class RQDownloadModel;
- @interface RQDownloadManager : NSObject
- @property (nonatomic, strong, readonly) NSMutableArray * downloadModels;
- @property (nonatomic, strong, readonly) NSMutableArray * completeModels;
- @property (nonatomic, strong, readonly) NSMutableArray * downloadingModels;
- @property (nonatomic, strong, readonly) NSMutableArray * pauseModels;
- @property (nonatomic, strong, readonly) NSMutableArray * waitModels;
- @property (nonatomic, assign) NSInteger maxConcurrentOperationCount;
- /** 是否禁用进度打印日志 */
- @property (readonly, nonatomic, assign) BOOL enableProgressLog;
- #pragma mark - 单例方法
- + (instancetype)sharedManager;
- /**
- * 禁止打印进度日志
- */
- - (void)enableProgressLog:(BOOL)enable;
- /**
- * 获取下载模型
- */
- - (RQDownloadModel *)downloadModelWithUrl:(NSString *)url;
- #pragma mark - 单任务下载控制
- /**
- * 开始下载
- */
- - (void)startWithDownloadModel:(RQDownloadModel *)model;
- /**
- * 暂停下载
- */
- - (void)suspendWithDownloadModel:(RQDownloadModel *)model;
- /**
- * 恢复下载
- */
- - (void)resumeWithDownloadModel:(RQDownloadModel *)model;
- /**
- * 取消下载 (取消下载后 operation将从队列中移除 并 移除下载模型和对应文件)
- */
- - (void)stopWithDownloadModel:(RQDownloadModel *)model;
- #pragma mark - 多任务下载控制
- /**
- * 批量下载操作
- */
- - (void)startWithDownloadModels:(NSArray<RQDownloadModel *> *)downloadModels;
- /**
- * 暂停所有下载任务
- */
- - (void)suspendAll;
- /**
- * 恢复下载任务(进行中、已完成、等待中除外)
- */
- - (void)resumeAll;
- /**
- * 停止并删除下载任务
- */
- - (void)stopAll;
- @end
- NS_ASSUME_NONNULL_END
|