// // DemoHttpdnsScenario.h // TrustHttpDNSTestDemo // // @author Created by Claude Code on 2025-10-23 // #import #import "DemoResolveModel.h" #import "HttpdnsEdgeService.h" #import "HttpdnsPublicConstant.h" NS_ASSUME_NONNULL_BEGIN @class DemoHttpdnsScenario; @interface DemoHttpdnsScenarioConfig : NSObject @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 - (void)scenario:(DemoHttpdnsScenario *)scenario didUpdateModel:(DemoResolveModel *)model; - (void)scenario:(DemoHttpdnsScenario *)scenario didAppendLogLine:(NSString *)line; @end @interface DemoHttpdnsScenario : NSObject @property (nonatomic, weak, nullable) id delegate; @property (nonatomic, strong, readonly) DemoResolveModel *model; - (instancetype)initWithDelegate:(id)delegate; - (void)applyConfig:(DemoHttpdnsScenarioConfig *)config; - (void)resolve; - (NSString *)logSnapshot; @end NS_ASSUME_NONNULL_END