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.
87 lines
1.9 KiB
87 lines
1.9 KiB
![]()
2 years ago
|
//
|
||
|
// RTKOTAUpgrade.h
|
||
|
// RTKOTASDK
|
||
|
//
|
||
|
// Created by jerome_gu on 2020/3/19.
|
||
|
// Copyright © 2020 jerome_gu. All rights reserved.
|
||
|
//
|
||
|
|
||
|
#import <Foundation/Foundation.h>
|
||
|
|
||
|
#ifdef RTK_SDK_IS_STATIC_LIBRARY
|
||
|
#import "RTKOTAUpgradeBin.h"
|
||
|
#import "RTKOTADeviceInfo.h"
|
||
|
#import "RTKOTAPeripheral.h"
|
||
|
#import "RTKDFUPeripheral.h"
|
||
|
#else
|
||
|
#import <RTKOTASDK/RTKOTAUpgradeBin.h>
|
||
|
#import <RTKOTASDK/RTKOTADeviceInfo.h>
|
||
|
#import <RTKOTASDK/RTKOTAPeripheral.h>
|
||
|
#import <RTKOTASDK/RTKDFUPeripheral.h>
|
||
|
#endif
|
||
|
|
||
|
|
||
|
|
||
|
NS_ASSUME_NONNULL_BEGIN
|
||
|
|
||
|
@class RTKOTAUpgrade;
|
||
|
|
||
|
@protocol RTKOTAUpgradeDelegate<NSObject>
|
||
|
@optional
|
||
|
- (void)OTAUpgradeDidGetReadyForUpgrade:(RTKOTAUpgrade *)upgradeController;
|
||
|
- (void)OTAUpgrade:(RTKOTAUpgrade *)upgradeController couldNotUpgradeWithError:(NSError *)err;
|
||
|
|
||
|
- (BOOL)OTAUpgradeShouldActiveSendedImage:(RTKOTAUpgrade *)upgradeController;
|
||
|
|
||
|
- (void)OTAUpgrade:(RTKOTAUpgrade *)upgradeController didFinishWithError:(nullable NSError *)err;
|
||
|
|
||
|
@end
|
||
|
|
||
|
|
||
|
/**
|
||
|
* RTKOTAUpgrade is a abstract class which provide common upgrade API.
|
||
|
*
|
||
|
* @discussion Not like RTKOTACoordinator, a RTKOTAUpgrade represents a upgrade task.
|
||
|
*/
|
||
|
@interface RTKOTAUpgrade : NSObject <NSProgressReporting> {
|
||
|
@protected
|
||
|
RTKDFUPhase _phase;
|
||
|
RTKOTAUpgradeBin *_upgradingImage;
|
||
|
}
|
||
|
@property (nonatomic, weak) id<RTKOTAUpgradeDelegate> delegate;
|
||
|
|
||
|
/**
|
||
|
* Start the preparation for upgrad.
|
||
|
*/
|
||
|
- (void)prepareForUpgrade;
|
||
|
|
||
|
/**
|
||
|
* The OTA related information.
|
||
|
*
|
||
|
* @discussion The deviceInfo is determined when -[RTKOTAUpgradeDelegate OTAUpgradeDidGetReadyForUpgrade:] get called.
|
||
|
*/
|
||
|
@property (nonatomic, nullable) RTKOTADeviceInfo *deviceInfo;
|
||
|
|
||
|
/**
|
||
|
* The image is current upgrading.
|
||
|
*/
|
||
|
@property (readonly, nullable) RTKOTAUpgradeBin *upgradingImage;
|
||
|
|
||
|
|
||
|
@property (nonatomic, readonly) RTKDFUPhase phase;
|
||
|
|
||
|
/**
|
||
|
* Start upgrade image.
|
||
|
*/
|
||
|
- (void)upgradeImage:(RTKOTAUpgradeBin *)image;
|
||
|
|
||
|
/**
|
||
|
* Cancel ongoing upgrade.
|
||
|
*/
|
||
|
- (void)cancelUpgrade;
|
||
|
|
||
|
|
||
|
@end
|
||
|
|
||
|
NS_ASSUME_NONNULL_END
|