xref: /titanic_50/usr/src/lib/libdns_sd/java/com/apple/dnssd/DNSSDRegistration.java (revision 5ffb0c9b03b5149ff4f5821a62be4a52408ada2a)
1 /* -*- Mode: Java; tab-width: 4 -*-
2  *
3  * Copyright (c) 2004 Apple Computer, Inc. All rights reserved.
4  *
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
8  *
9  *     http://www.apache.org/licenses/LICENSE-2.0
10  *
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.
16  */
17 
18 
19 package	com.apple.dnssd;
20 
21 
22 /**	A tracking object for a registration created by {@link DNSSD#register}. */
23 
24 public interface	DNSSDRegistration extends DNSSDService
25 {
26 	/** Get a reference to the primary TXT record of a registered service.<P>
27 		The record can be updated by sending it an update() message.<P>
28 
29 		<P>
30 		@return		A {@link DNSRecord}.
31 					If {@link DNSSDRegistration#stop} is called, the DNSRecord is also
32 					invalidated and may not be used further.
33 	*/
getTXTRecord()34 	DNSRecord		getTXTRecord()
35 	throws DNSSDException;
36 
37 	/** Add a record to a registered service.<P>
38 		The name of the record will be the same as the registered service's name.<P>
39 		The record can be updated or deregistered by sending it an update() or remove() message.<P>
40 
41 		@param	flags
42 					Currently unused, reserved for future use.
43 		<P>
44 		@param	rrType
45 					The type of the record (e.g. TXT, SRV, etc), as defined in nameser.h.
46 		<P>
47 		@param	rData
48 					The raw rdata to be contained in the added resource record.
49 		<P>
50 		@param	ttl
51 					The time to live of the resource record, in seconds.
52 		<P>
53 		@return		A {@link DNSRecord} that may be passed to updateRecord() or removeRecord().
54 					If {@link DNSSDRegistration#stop} is called, the DNSRecord is also
55 					invalidated and may not be used further.
56 	*/
addRecord( int flags, int rrType, byte[] rData, int ttl)57 	DNSRecord		addRecord( int flags, int rrType, byte[] rData, int ttl)
58 	throws DNSSDException;
59 }
60 
61