Mono.Zeroconf – Blame information for rev 1

Subversion Repositories:
Rev:
Rev Author Line No. Line
1 office 1 //
2 // ServiceFlags.cs
3 //
4 // Authors:
5 // Aaron Bockover <abockover@novell.com>
6 //
7 // Copyright (C) 2006-2007 Novell, Inc (http://www.novell.com)
8 //
9 // Permission is hereby granted, free of charge, to any person obtaining
10 // a copy of this software and associated documentation files (the
11 // "Software"), to deal in the Software without restriction, including
12 // without limitation the rights to use, copy, modify, merge, publish,
13 // distribute, sublicense, and/or sell copies of the Software, and to
14 // permit persons to whom the Software is furnished to do so, subject to
15 // the following conditions:
16 //
17 // The above copyright notice and this permission notice shall be
18 // included in all copies or substantial portions of the Software.
19 //
20 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
21 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
22 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
23 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
24 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
25 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
26 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27 //
28  
29 using System;
30  
31 namespace Mono.Zeroconf.Providers.Bonjour
32 {
33 [Flags]
34 public enum ServiceFlags {
35 None = 0,
36 MoreComing = 0x1,
37 /* MoreComing indicates to a callback that at least one more result is
38 * queued and will be delivered following immediately after this one.
39 * Applications should not update their UI to display browse
40 * results when the MoreComing flag is set, because this would
41 * result in a great deal of ugly flickering on the screen.
42 * Applications should instead wait until until MoreComing is not set,
43 * and then update their UI.
44 * When MoreComing is not set, that doesn't mean there will be no more
45 * answers EVER, just that there are no more answers immediately
46 * available right now at this instant. If more answers become available
47 * in the future they will be delivered as usual.
48 */
49  
50 Add = 0x2,
51 Default = 0x4,
52 /* Flags for domain enumeration and browse/query reply callbacks.
53 * "Default" applies only to enumeration and is only valid in
54 * conjuction with "Add". An enumeration callback with the "Add"
55 * flag NOT set indicates a "Remove", i.e. the domain is no longer
56 * valid.
57 */
58  
59 NoAutoRename = 0x8,
60 /* Flag for specifying renaming behavior on name conflict when registering
61 * non-shared records. By default, name conflicts are automatically handled
62 * by renaming the service. NoAutoRename overrides this behavior - with this
63 * flag set, name conflicts will result in a callback. The NoAutorename flag
64 * is only valid if a name is explicitly specified when registering a service
65 * (i.e. the default name is not used.)
66 */
67  
68 Shared = 0x10,
69 Unique = 0x20,
70 /* Flag for registering individual records on a connected
71 * DNSServiceRef. Shared indicates that there may be multiple records
72 * with this name on the network (e.g. PTR records). Unique indicates that the
73 * record's name is to be unique on the network (e.g. SRV records).
74 */
75  
76 BrowseDomains = 0x40,
77 RegistrationDomains = 0x80,
78 /* Flags for specifying domain enumeration type in DNSServiceEnumerateDomains.
79 * BrowseDomains enumerates domains recommended for browsing, RegistrationDomains
80 * enumerates domains recommended for registration.
81 */
82  
83 LongLivedQuery = 0x100,
84 /* Flag for creating a long-lived unicast query for the DNSServiceQueryRecord call. */
85  
86 AllowRemoteQuery = 0x200,
87 /* Flag for creating a record for which we will answer remote queries
88 * (queries from hosts more than one hop away; hosts not directly connected to the local link).
89 */
90  
91 ForceMulticast = 0x400
92 /* Flag for signifying that a query or registration should be performed exclusively via multicast DNS,
93 * even for a name in a domain (e.g. foo.apple.com.) that would normally imply unicast DNS.
94 */
95 }
96 }