52 lines
1.3 KiB
Objective-C
52 lines
1.3 KiB
Objective-C
//
|
|
// DemoHttpdnsScenario.h
|
|
// TrustHttpDNSTestDemo
|
|
//
|
|
// @author Created by Claude Code on 2025-10-23
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "DemoResolveModel.h"
|
|
#import "HttpdnsEdgeService.h"
|
|
#import "HttpdnsPublicConstant.h"
|
|
|
|
NS_ASSUME_NONNULL_BEGIN
|
|
|
|
@class DemoHttpdnsScenario;
|
|
|
|
@interface DemoHttpdnsScenarioConfig : NSObject <NSCopying>
|
|
|
|
@property (nonatomic, copy) NSString *host;
|
|
@property (nonatomic, assign) HttpdnsQueryIPType ipType;
|
|
|
|
// HttpdnsEdgeService unsupported features removed:
|
|
// @property (nonatomic, assign) BOOL httpsEnabled;
|
|
// @property (nonatomic, assign) BOOL persistentCacheEnabled;
|
|
// @property (nonatomic, assign) BOOL reuseExpiredIPEnabled;
|
|
|
|
- (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;
|
|
- (NSString *)logSnapshot;
|
|
|
|
@end
|
|
|
|
NS_ASSUME_NONNULL_END
|
|
|