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     Change History (most recent first):
18 
19 $Log: DNSSDRegistration.java,v $
20 Revision 1.3  2006/08/14 23:25:08  cheshire
21 Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0
22 
23 Revision 1.2  2004/12/11 03:01:00  rpantos
24 <rdar://problem/3907498> Java DNSRecord API should be cleaned up
25 
26 Revision 1.1  2004/04/30 16:32:34  rpantos
27 First checked in.
28 
29 ident	"%Z%%M%	%I%	%E% SMI"
30 
31 	This file declares the public interface to DNSSDRegistration, a DNSSDService
32 	subclass that allows a client to control a service registration.
33  */
34 
35 
36 package	com.apple.dnssd;
37 
38 
39 /**	A tracking object for a registration created by {@link DNSSD#register}. */
40 
41 public interface	DNSSDRegistration extends DNSSDService
42 {
43 	/** Get a reference to the primary TXT record of a registered service.<P>
44 		The record can be updated by sending it an update() message.<P>
45 
46 		<P>
47 		@return		A {@link DNSRecord}.
48 					If {@link DNSSDRegistration#stop} is called, the DNSRecord is also
49 					invalidated and may not be used further.
50 	*/
getTXTRecord()51 	DNSRecord		getTXTRecord()
52 	throws DNSSDException;
53 
54 	/** Add a record to a registered service.<P>
55 		The name of the record will be the same as the registered service's name.<P>
56 		The record can be updated or deregistered by sending it an update() or remove() message.<P>
57 
58 		@param	flags
59 					Currently unused, reserved for future use.
60 		<P>
61 		@param	rrType
62 					The type of the record (e.g. TXT, SRV, etc), as defined in nameser.h.
63 		<P>
64 		@param	rData
65 					The raw rdata to be contained in the added resource record.
66 		<P>
67 		@param	ttl
68 					The time to live of the resource record, in seconds.
69 		<P>
70 		@return		A {@link DNSRecord} that may be passed to updateRecord() or removeRecord().
71 					If {@link DNSSDRegistration#stop} is called, the DNSRecord is also
72 					invalidated and may not be used further.
73 	*/
addRecord( int flags, int rrType, byte[] rData, int ttl)74 	DNSRecord		addRecord( int flags, int rrType, byte[] rData, int ttl)
75 	throws DNSSDException;
76 }
77 
78