21 #import "OFDNSQuery.h"
23 #import "OFDNSResponse.h"
27 OF_ASSUME_NONNULL_BEGIN
29 #define OFDNSResolverBufferLength 512
31 @class OFArray OF_GENERIC(ObjectType);
33 @class OFDNSResolverContext;
34 @class OFDNSResolverSettings;
40 @class OFPair OF_GENERIC(FirstType, SecondType);
51 OFDNSResolverErrorCodeUnknown,
53 OFDNSResolverErrorCodeTimeout,
55 OFDNSResolverErrorCodeCanceled,
62 OFDNSResolverErrorCodeNoResult,
64 OFDNSResolverErrorCodeServerInvalidFormat,
66 OFDNSResolverErrorCodeServerFailure,
68 OFDNSResolverErrorCodeServerNameError,
70 OFDNSResolverErrorCodeServerNotImplemented,
72 OFDNSResolverErrorCodeServerRefused,
74 OFDNSResolverErrorCodeNoNameServer
75 } OFDNSResolverErrorCode;
95 exception: (nullable
id)exception;
103 @protocol OFDNSResolverHostDelegate <
OFObject>
116 addresses: (nullable
OFData *)addresses
117 exception: (nullable
id)exception;
130 OF_SUBCLASSING_RESTRICTED
133 OFDNSResolverSettings *_settings;
138 char _buffer[OFDNSResolverBufferLength];
205 @property (nonatomic)
unsigned int maxAttempts;
214 @property (nonatomic)
unsigned int minNumberOfDotsInAbsoluteName;
223 @property (nonatomic)
bool forcesTCP;
239 + (instancetype)resolver;
244 - (instancetype)init;
252 - (void)asyncPerformQuery: (
OFDNSQuery *)query
262 - (void)asyncPerformQuery: (
OFDNSQuery *)query
272 - (void)asyncResolveAddressesForHost: (
OFString *)host
273 delegate: (
id <OFDNSResolverHostDelegate>)delegate;
282 - (void)asyncResolveAddressesForHost: (
OFString *)host
284 delegate: (
id <OFDNSResolverHostDelegate>)delegate;
294 - (void)asyncResolveAddressesForHost: (
OFString *)host
297 delegate: (
id <OFDNSResolverHostDelegate>)delegate;
317 OF_ASSUME_NONNULL_END
double OFTimeInterval
A time interval in seconds.
Definition: OFObject.h:154
OFSocketAddressFamily
A socket address family.
Definition: OFSocket.h:107
An abstract class for storing objects in an array.
Definition: OFArray.h:109
A class for storing constant strings using the @"" literal.
Definition: OFConstantString.h:42
A class representing a DNS query.
Definition: OFDNSQuery.h:35
A class for resolving DNS names.
Definition: OFDNSResolver.h:132
OFArray * searchDomains
The domains to search for queries for short names.
Definition: OFDNSResolver.h:184
OFString * localDomain
The local domain.
Definition: OFDNSResolver.h:175
OFArray * nameServers
An array of name servers to use.
Definition: OFDNSResolver.h:170
A class storing a response from OFDNSResolver.
Definition: OFDNSResponse.h:38
A class for storing arbitrary data in an array.
Definition: OFData.h:46
A class for storing, accessing and comparing dates.
Definition: OFDate.h:34
An abstract class for storing objects in a dictionary.
Definition: OFDictionary.h:84
An abstract class for storing, adding and removing objects in an array.
Definition: OFMutableArray.h:48
An abstract class for storing and changing objects in a dictionary.
Definition: OFMutableDictionary.h:48
Provides a way to store a number in an object.
Definition: OFNumber.h:47
The root class for all other classes inside ObjFW.
Definition: OFObject.h:692
A class for storing a pair of two objects.
Definition: OFPair.h:40
A class for handling strings.
Definition: OFString.h:139
A class which provides methods to create and use TCP sockets.
Definition: OFTCPSocket.h:71
A class which provides methods to create and use UDP sockets.
Definition: OFUDPSocket.h:55
A delegate for performed DNS queries.
Definition: OFDNSResolver.h:82