44 lines
1.0 KiB
Objective-C
44 lines
1.0 KiB
Objective-C
//
|
|
// DemoHttpdnsScenario.h
|
|
// NewHttpDNSTestDemo
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "DemoResolveModel.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@class DemoHttpdnsScenario;
|
|
|
|
@interface DemoHttpdnsScenarioConfig : NSObject <NSCopying>
|
|
|
|
@property (nonatomic, copy) NSString *host;
|
|
@property (nonatomic, copy) NSString *queryType; // @"A", @"AAAA", @"both"
|
|
|
|
- (instancetype)init;
|
|
|
|
@end
|
|
|
|
@protocol DemoHttpdnsScenarioDelegate <NSObject>
|
|
|
|
- (void)scenario:(DemoHttpdnsScenario *)scenario didUpdateModel:(DemoResolveModel *)model;
|
|
- (void)scenario:(DemoHttpdnsScenario *)scenario didAppendLogLine:(NSString *)line;
|
|
|
|
@end
|
|
|
|
@interface DemoHttpdnsScenario : NSObject
|
|
|
|
@property (nonatomic, weak, nullable) id<DemoHttpdnsScenarioDelegate> delegate;
|
|
@property (nonatomic, strong, readonly) DemoResolveModel *model;
|
|
|
|
- (instancetype)initWithDelegate:(id<DemoHttpdnsScenarioDelegate>)delegate;
|
|
- (void)applyConfig:(DemoHttpdnsScenarioConfig *)config;
|
|
- (void)resolve;
|
|
- (void)resolveSyncNonBlocking;
|
|
- (void)resolveSync;
|
|
- (NSString *)logSnapshot;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|