~ubuntu-branches/ubuntu/trusty/mono-zeroconf/trusty

« back to all changes in this revision

Viewing changes to src/Mono.Zeroconf.Providers.Bonjour/Mono.Zeroconf.Providers.Bonjour/ServiceFlags.cs

  • Committer: Bazaar Package Importer
  • Author(s): Sebastian Dröge
  • Date: 2007-12-20 04:54:46 UTC
  • Revision ID: james.westby@ubuntu.com-20071220045446-qi1hrzbiw1kh38js
Tags: upstream-0.7.3
Import upstream version 0.7.3

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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
}