]> git.saurik.com Git - apple/mdnsresponder.git/blob - mDNSShared/Java/DNSSDRegistration.java
mDNSResponder-161.1.tar.gz
[apple/mdnsresponder.git] / mDNSShared / Java / DNSSDRegistration.java
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
30 This file declares the public interface to DNSSDRegistration, a DNSSDService
31 subclass that allows a client to control a service registration.
32 */
33
34
35 package com.apple.dnssd;
36
37
38 /** A tracking object for a registration created by {@link DNSSD#register}. */
39
40 public interface DNSSDRegistration extends DNSSDService
41 {
42 /** Get a reference to the primary TXT record of a registered service.<P>
43 The record can be updated by sending it an update() message.<P>
44
45 <P>
46 @return A {@link DNSRecord}.
47 If {@link DNSSDRegistration#stop} is called, the DNSRecord is also
48 invalidated and may not be used further.
49 */
50 DNSRecord getTXTRecord()
51 throws DNSSDException;
52
53 /** Add a record to a registered service.<P>
54 The name of the record will be the same as the registered service's name.<P>
55 The record can be updated or deregistered by sending it an update() or remove() message.<P>
56
57 @param flags
58 Currently unused, reserved for future use.
59 <P>
60 @param rrType
61 The type of the record (e.g. TXT, SRV, etc), as defined in nameser.h.
62 <P>
63 @param rData
64 The raw rdata to be contained in the added resource record.
65 <P>
66 @param ttl
67 The time to live of the resource record, in seconds.
68 <P>
69 @return A {@link DNSRecord} that may be passed to updateRecord() or removeRecord().
70 If {@link DNSSDRegistration#stop} is called, the DNSRecord is also
71 invalidated and may not be used further.
72 */
73 DNSRecord addRecord( int flags, int rrType, byte[] rData, int ttl)
74 throws DNSSDException;
75 }
76