// // QNZoneInfo.h // QiniuSDK // // Created by yangsen on 2020/4/16. // Copyright © 2020 Qiniu. All rights reserved. // #import NS_ASSUME_NONNULL_BEGIN extern NSString *const QNZoneInfoSDKDefaultIOHost; extern NSString *const QNZoneInfoEmptyRegionId; @interface QNZoneInfo : NSObject @property(nonatomic, assign, readonly)long ttl; @property(nonatomic, assign, readonly)BOOL http3Enabled; @property(nonatomic, strong, readonly)NSArray *domains; @property(nonatomic, strong, readonly)NSArray *old_domains; @property(nonatomic, copy, readonly)NSString *regionId; @property(nonatomic, strong, readonly)NSArray *allHosts; @property(nonatomic, strong, readonly)NSDictionary *detailInfo; + (QNZoneInfo *)zoneInfoWithMainHosts:(NSArray *)mainHosts regionId:(NSString * _Nullable)regionId; + (QNZoneInfo *)zoneInfoWithMainHosts:(NSArray *)mainHosts oldHosts:(NSArray * _Nullable)oldHosts regionId:(NSString * _Nullable)regionId; /// 根据键值对构造对象 【内部使用】 /// @param detailInfo 键值对信息 + (QNZoneInfo *)zoneInfoFromDictionary:(NSDictionary *)detailInfo; - (BOOL)isValid; @end @interface QNZonesInfo : NSObject @property (nonatomic, assign, readonly) BOOL isTemporary; @property (nonatomic, assign, readonly) BOOL isValid; @property (nonatomic, strong, readonly) NSArray *zonesInfo; /// 根据键值对构造对象 【内部使用】 /// @param dictionary 键值对信息 + (instancetype)infoWithDictionary:(NSDictionary *)dictionary; - (instancetype)initWithZonesInfo:(NSArray *)zonesInfo; // 转成临时 zones, 临时 Zones,不建议长期使用 - (void)toTemporary; @end NS_ASSUME_NONNULL_END