00001
00002
00003
00004
00005
00006
00007
00008
00009
00010 #import <OmniBase/OBObject.h>
00011
00012 @class NSArray, NSDate, NSMutableArray;
00013 @class ONHostAddress, ONServiceEntry;
00014
00015 #import <Foundation/NSDate.h>
00016
00017 @interface ONHost : OBObject
00018 {
00019 NSString *hostname;
00020 NSString *canonicalHostname;
00021 NSArray *addresses;
00022 NSMutableDictionary *serviceAddresses;
00023 NSDate *expirationDate;
00024 }
00025
00026
00027
00028 + (void)listenForNetworkChanges;
00029
00030
00031 + (NSString *)domainName;
00032
00033
00034 + (NSString *)localHostname;
00035
00036 + (ONHost *)hostForHostname:(NSString *)aHostname;
00037 + (ONHost *)hostForAddress:(ONHostAddress *)anAddress;
00038
00039 + (NSString *)IDNEncodedHostname:(NSString *)aHostname;
00040 + (NSString *)IDNDecodedHostname:(NSString *)anIDNHostname;
00041
00042 + (void)flushCache;
00043 + (void)setDefaultTimeToLiveTimeInterval:(NSTimeInterval)newValue;
00044
00045
00046 + (void)setOnlyResolvesIPv4Addresses:(BOOL)v4Only;
00047 + (BOOL)onlyResolvesIPv4Addresses;
00048 + (void)setResolverType:(NSString *)resolverType;
00049
00050 - (NSString *)hostname;
00051 - (NSArray *)addresses;
00052 - (NSString *)canonicalHostname;
00053 - (NSString *)IDNEncodedHostname;
00054 - (NSString *)domainName;
00055
00056 - (BOOL)isLocalHost;
00057
00058 - (void)flushFromHostCache;
00059
00060
00061 - (NSArray *)portAddressesForService:(ONServiceEntry *)servEntry;
00062
00063 @end
00064
00065 #import "FrameworkDefines.h"
00066
00067
00068 OmniNetworking_EXTERN NSString *ONHostNotFoundExceptionName;
00069 OmniNetworking_EXTERN NSString *ONHostNameLookupErrorExceptionName;
00070 OmniNetworking_EXTERN NSString *ONHostHasNoAddressesExceptionName;
00071 OmniNetworking_EXTERN NSString *ONGetHostByNameNotFoundExceptionName;