DNSSDRegistration.java revision 4904:cd464a980538
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 $ 20Revision 1.3 2006/08/14 23:25:08 cheshire 21Re-licensed mDNSResponder daemon source code under Apache License, Version 2.0 22 23Revision 1.2 2004/12/11 03:01:00 rpantos 24<rdar://problem/3907498> Java DNSRecord API should be cleaned up 25 26Revision 1.1 2004/04/30 16:32:34 rpantos 27First checked in. 28 29ident "%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 36package com.apple.dnssd; 37 38 39/** A tracking object for a registration created by {@link DNSSD#register}. */ 40 41public 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 */ 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 */ 74 DNSRecord addRecord( int flags, int rrType, byte[] rData, int ttl) 75 throws DNSSDException; 76} 77 78