QNServerConfig.h 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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 QNServerConfig : NSObject
  41. @property(nonatomic, assign, readonly)BOOL isValid;
  42. @property(nonatomic, assign, readonly)long ttl;
  43. @property(nonatomic, strong, readonly)QNServerRegionConfig *regionConfig;
  44. @property(nonatomic, strong, readonly)QNServerDnsConfig *dnsConfig;
  45. @property(nonatomic, strong, readonly)NSDictionary *info;
  46. + (instancetype)config:(NSDictionary *)info;
  47. @end
  48. NS_ASSUME_NONNULL_END