QNServerConfig.h 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. //
  2. // QNServerConfig.h
  3. // QiniuSDK
  4. //
  5. // Created by yangsen on 2021/8/30.
  6. // Copyright © 2021 Qiniu. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. NS_ASSUME_NONNULL_BEGIN
  10. @interface QNServerRegionConfig : NSObject
  11. @property(nonatomic, assign, readonly)long clearId;
  12. @property(nonatomic, assign, readonly)BOOL clearCache;
  13. + (instancetype)config:(NSDictionary *)info;
  14. @end
  15. @interface QNServerDnsServer : NSObject
  16. @property(nonatomic, assign, readonly)BOOL isOverride;
  17. @property(nonatomic, strong, readonly)NSArray <NSString *> *servers;
  18. + (instancetype)config:(NSDictionary *)info;
  19. @end
  20. @interface QNServerDohConfig : NSObject
  21. @property(nonatomic, strong, readonly)NSNumber *enable;
  22. @property(nonatomic, strong, readonly)QNServerDnsServer *ipv4Server;
  23. @property(nonatomic, strong, readonly)QNServerDnsServer *ipv6Server;
  24. + (instancetype)config:(NSDictionary *)info;
  25. @end
  26. @interface QNServerUdpDnsConfig : NSObject
  27. @property(nonatomic, strong, readonly)NSNumber *enable;
  28. @property(nonatomic, strong, readonly)QNServerDnsServer *ipv4Server;
  29. @property(nonatomic, strong, readonly)QNServerDnsServer *ipv6Server;
  30. + (instancetype)config:(NSDictionary *)info;
  31. @end
  32. @interface QNServerDnsConfig : NSObject
  33. @property(nonatomic, strong, readonly)NSNumber *enable;
  34. @property(nonatomic, assign, readonly)long clearId;
  35. @property(nonatomic, assign, readonly)BOOL clearCache;
  36. @property(nonatomic, strong, readonly)QNServerUdpDnsConfig *udpConfig;
  37. @property(nonatomic, strong, readonly)QNServerDohConfig *dohConfig;
  38. + (instancetype)config:(NSDictionary *)info;
  39. @end
  40. @interface QNConnectCheckConfig : NSObject
  41. @property(nonatomic, assign, readonly)BOOL isOverride;
  42. @property(nonatomic, strong, readonly)NSNumber *enable;
  43. @property(nonatomic, strong, readonly)NSNumber *timeoutMs;
  44. @property(nonatomic, strong, readonly)NSArray <NSString *> *urls;
  45. + (instancetype)config:(NSDictionary *)info;
  46. @end
  47. @interface QNServerConfig : NSObject
  48. @property(nonatomic, assign, readonly)BOOL isValid;
  49. @property(nonatomic, assign, readonly)long ttl;
  50. @property(nonatomic, strong, readonly)QNServerRegionConfig *regionConfig;
  51. @property(nonatomic, strong, readonly)QNServerDnsConfig *dnsConfig;
  52. @property(nonatomic, strong, readonly)QNConnectCheckConfig *connectCheckConfig;
  53. @property(nonatomic, strong, readonly)NSDictionary *info;
  54. + (instancetype)config:(NSDictionary *)info;
  55. @end
  56. NS_ASSUME_NONNULL_END