BBADownloaderOperation.h 1.13 KB
//
//  BBADownloaderOperation.h
//  ApsManager
//
//  Created by ZhangYonglu on 2018/10/22.
//  Copyright © 2018年 Baidu. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "BBADownloaderCommon.h"

@class BBADownloaderItem;
@class BBADownloaderTask;
@class BBADownloaderOperation;
@class BBADownloaderRequestItem;

@protocol BBADownloaderOperationStatusChangedDelegate<NSObject>

- (void)downloadOperationStatusChanged:(BBADownloaderTask *)downloadTask;

@end

NS_ASSUME_NONNULL_BEGIN

@interface BBADownloaderOperation : NSOperation

@property (nonatomic, weak) BBADownloaderTask *downloadTask;
@property (nonatomic, weak) id<BBADownloaderOperationStatusChangedDelegate> delegate;
    
- (void)suspend;

- (void)adjust;

- (instancetype)initWithDownloadTask:(BBADownloaderTask *)downloadTask delegate:(id<BBADownloaderOperationStatusChangedDelegate>)delegate;

- (instancetype)init NS_UNAVAILABLE;

/**
 * @brief 获取当前requstItem对应的'已下载字节数'
 *
 * @param requestItem 下载请求参数
 * @return 已下载字节数
 */
+ (int64_t)totalReceivedBytes:(BBADownloaderRequestItem *)requestItem;

@end

NS_ASSUME_NONNULL_END