BBASMUnzipDecryptionTask.h 1.5 KB
//
//  BBASMUnzipDecryptionTask.h
//  SWAN
//
//  Created by baidu on 2018/10/25.
//  Copyright © 2018 baidu. All rights reserved.
//

#import <Foundation/Foundation.h>

FOUNDATION_EXPORT NSInteger const BBASMUnzipErrorCodeOutOfSpace;

typedef void(^completeCallback)(BOOL isSuccess, NSError *error);

/**
 一个用于解压/解密的工具类
 支持流式解压解密
 */
@interface BBASMUnzipDecryptionTask : NSObject

/// 待解压的文件路径,普通解压解密必需(流式下非必需),默认为nil
@property (nonatomic, copy) NSString *zipFilePath;

/// 欲解压至的目标路径,必需,默认为nil
@property (nonatomic, copy) NSString *destinationPath;

/// 解压完成的回调,非必需,默认为nil
@property (nonatomic, copy) completeCallback completeHandler;

/// 本次解压是否需要打点,非必需,默认为NO
@property (nonatomic, assign) BOOL isMonitor;

/// 打点所需的APPID,非必需,默认为nil
@property (nonatomic, copy) NSString *appID;

/// 是否在当前线程同步解压,非必需,默认NO
@property (nonatomic, assign) BOOL isSync;

/// 解压写入是否保证原子性
@property (nonatomic, assign) BOOL isAtomic;

/**
 开始解压/解密
 给普通(非流式)调用
 该方法为异步调用
 */
- (void)start;

/**
 开始解压/解密
 给流式调用
 该方法为异步调用
 */
- (void)startWithStreamData:(NSData *)data;

/**
 给流式调用,当streamData全部传输完毕后调用
 普通解压解密不要调用
 */
- (void)streamTaskComplete;


@end