3 * Copyright (c) 2016 Apple Inc. All rights reserved.
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
9 * http://www.apache.org/licenses/LICENSE-2.0
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
18 #import <Foundation/Foundation.h>
19 #import <dispatch/queue.h>
21 extern const NSString
* _CNSubDomainKey_defaultFlag
;
22 extern const NSString
* _CNSubDomainKey_subPath
;
24 @protocol _CNDomainBrowserDelegate
;
26 @interface _CNDomainBrowser
: NSObject
28 @
property (nonatomic
) BOOL browseRegistration
;
29 @
property (nonatomic
) BOOL ignoreLocal
;
30 @
property (nonatomic
) BOOL ignoreBTMM
;
31 @
property (strong
) dispatch_queue_t callbackQueue
;
32 @
property (readonly
) BOOL isBrowsing
;
34 - (instancetype
)initWithDelegate
:(id
<_CNDomainBrowserDelegate
>)delegate
;
38 - (BOOL
)foundInstanceInMoreThanLocalDomain
;
40 @
property (readonly
) NSArray
* defaultDomainPath
;
41 @
property (readonly
) NSArray
* flattenedDNSDomains
;
43 - (NSArray
*)subDomainsAtDomainPath
:(NSArray
*)domainPath
;
47 @protocol _CNDomainBrowserDelegate
<NSObject
>
49 - (void)bonjourBrowserDomainUpdate
:(NSArray
*)defaultDomainPath
;