You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
3.5 KiB
99 lines
3.5 KiB
// |
|
// RTKOTAImage.h |
|
// RTKOTASDK |
|
// |
|
// Created by jerome_gu on 2019/1/28. |
|
// Copyright © 2019 Realtek. All rights reserved. |
|
// |
|
|
|
#import <Foundation/Foundation.h> |
|
|
|
#ifdef RTK_SDK_IS_STATIC_LIBRARY |
|
#import "RTKOTABin.h" |
|
#else |
|
#import <RTKOTASDK/RTKOTABin.h> |
|
#endif |
|
|
|
|
|
typedef NS_ENUM(NSUInteger, RTKOTAUpgradeBank) { |
|
RTKOTAUpgradeBank_Unknown, |
|
RTKOTAUpgradeBank_SingleOrBank0, |
|
RTKOTAUpgradeBank_Bank1, |
|
}; |
|
|
|
|
|
@class RTKOTAPeripheral; |
|
|
|
NS_ASSUME_NONNULL_BEGIN |
|
|
|
/** |
|
* A concrete RTKOTABin class represents a binary which is about to send to a device. |
|
*/ |
|
@interface RTKOTAUpgradeBin : RTKOTABin |
|
|
|
/// The OTA Version which this binary object is created in accordance with. |
|
@property (readonly) NSUInteger otaVersion; |
|
|
|
/// The security version of this binary object. |
|
@property (readonly) NSUInteger secVersion; |
|
|
|
/// The identifier of this binary object. |
|
@property (readonly) NSUInteger imageId; |
|
|
|
/// The raw bytes of the binary. |
|
@property (readonly) NSData *data; |
|
|
|
|
|
- (instancetype)initWithPureData:(NSData *)data; |
|
|
|
/** |
|
* Indicates which bank this image is about be installed at. |
|
* |
|
* @note This is available for dual bank SOC. |
|
*/ |
|
@property (readonly) RTKOTAUpgradeBank upgradeBank; |
|
|
|
/// Return the check bytes which has a 32-byte length. |
|
@property (readonly, nullable) NSData *checkValue; |
|
|
|
/** |
|
* Parse and return a list of RTKOTAUpgradeBin objects form a MPPack file. |
|
* |
|
* @discussion The archive file which path locate should be a valid MPPack file format or MP binary format. |
|
* @seealso +imagesExtractedFromMPPackFileData:error: |
|
*/ |
|
+ (nullable NSArray <RTKOTAUpgradeBin*> *)imagesExtractedFromMPPackFilePath:(NSString *)path error:(NSError *__nullable *__nullable)errPtr; |
|
|
|
+ (nullable NSArray <RTKOTAUpgradeBin*> *)imagesExtractFromMPPackFilePath:(NSString *)path error:(NSError *__nullable *__nullable)errPtr DEPRECATED_MSG_ATTRIBUTE("use +imagesExtractedFromMPPackFilePath:error: instead"); |
|
|
|
/** |
|
* Parse and return a list of RTKOTAUpgradeBin objects form a MPPack file data. |
|
* |
|
* @discussion The archive file data should be a valid MPPack file format or MP binary format. |
|
* @seealso +imagesExtractedFromMPPackFilePath:error: |
|
*/ |
|
+ (nullable NSArray <RTKOTAUpgradeBin*> *)imagesExtractedFromMPPackFileData:(NSData *)data error:(NSError *__nullable *__nullable)errPtr; |
|
|
|
+ (nullable NSArray <RTKOTAUpgradeBin*> *)imagesExtractFromMPPackFileData:(NSData *)data error:(NSError *__nullable *__nullable)errPtr DEPRECATED_MSG_ATTRIBUTE("use +imagesExtractedFromMPPackFileData:error: instead"); |
|
|
|
/** |
|
* Parse and return 2 list of RTKOTAUpgradeBin objects for RWS buds form a CombineMPPack file. |
|
* |
|
* @discussion The archive file which path locate should be a valid CombineMPPack file format. |
|
* @seealso +extractCombinePackFileWithData:toPrimaryBudBins:secondaryBudBins: |
|
*/ |
|
+ (nullable NSError*)extractCombinePackFileWithFilePath:(NSString *)path toPrimaryBudBins:(NSArray <RTKOTAUpgradeBin*> *_Nullable*_Nullable)primaryBinsRef secondaryBudBins:(NSArray <RTKOTAUpgradeBin*> *_Nullable*_Nullable)secondaryBinsRef; |
|
|
|
/** |
|
* Parse and return 2 list of RTKOTAUpgradeBin objects for RWS buds form a CombineMPPack file data. |
|
* |
|
* @discussion The fileData should be a valid CombineMPPack file format. |
|
* @seealso +extractCombinePackFileWithFilePath:toPrimaryBudBins:secondaryBudBins: |
|
*/ |
|
+ (nullable NSError*)extractCombinePackFileWithData:(NSData *)fileData toPrimaryBudBins:(NSArray <RTKOTAUpgradeBin*> *_Nullable*_Nullable)primaryBinsRef secondaryBudBins:(NSArray <RTKOTAUpgradeBin*> *_Nullable*_Nullable)secondaryBinsRef; |
|
|
|
|
|
@end |
|
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|