QNZoneInfo.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //
  2. // QNZoneInfo.h
  3. // QiniuSDK
  4. //
  5. // Created by yangsen on 2020/4/16.
  6. // Copyright © 2020 Qiniu. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. extern NSString *const QNZoneInfoSDKDefaultIOHost;
  11. extern NSString *const QNZoneInfoEmptyRegionId;
  12. @interface QNZoneInfo : NSObject
  13. @property(nonatomic, assign, readonly)long ttl;
  14. @property(nonatomic, strong, readonly)NSArray<NSString *> *domains;
  15. @property(nonatomic, strong, readonly)NSArray<NSString *> *old_domains;
  16. @property(nonatomic, copy, readonly)NSString *regionId;
  17. @property(nonatomic, strong, readonly)NSArray <NSString *> *allHosts;
  18. @property(nonatomic, strong, readonly)NSDictionary *detailInfo;
  19. + (QNZoneInfo *)zoneInfoWithMainHosts:(NSArray <NSString *> *)mainHosts
  20. regionId:(NSString * _Nullable)regionId;
  21. + (QNZoneInfo *)zoneInfoWithMainHosts:(NSArray <NSString *> *)mainHosts
  22. oldHosts:(NSArray <NSString *> * _Nullable)oldHosts
  23. regionId:(NSString * _Nullable)regionId;
  24. /// 根据键值对构造对象 【内部使用】
  25. /// @param detailInfo 键值对信息
  26. + (QNZoneInfo *)zoneInfoFromDictionary:(NSDictionary *)detailInfo;
  27. - (BOOL)isValid;
  28. @end
  29. @interface QNZonesInfo : NSObject
  30. @property (readonly) BOOL isValid;
  31. @property (nonatomic, strong, readonly) NSArray<QNZoneInfo *> *zonesInfo;
  32. /// 根据键值对构造对象 【内部使用】
  33. /// @param dictionary 键值对信息
  34. + (instancetype)infoWithDictionary:(NSDictionary *)dictionary;
  35. - (instancetype)initWithZonesInfo:(NSArray<QNZoneInfo *> *)zonesInfo;
  36. @end
  37. NS_ASSUME_NONNULL_END