Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / common / extensions / api / mdns.idl
blob3f5cac9eab404d72a37a8d202c751e658885fab6
1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 // Use the <code>chrome.mdns</code> API to discover services over mDNS.
6 // This comprises a subset of the features of the NSD spec:
7 // http://www.w3.org/TR/discovery-api/
8 namespace mdns {
10 // Represents a mDNS/DNS-SD service.
11 dictionary MDnsService {
12 // The service name of an mDNS advertised service,
13 // <instance_name>.<service_type>.
14 DOMString serviceName;
16 // The host:port pair of an mDNS advertised service.
17 DOMString serviceHostPort;
19 // The IP address of an mDNS advertised service.
20 DOMString ipAddress;
22 // Metadata for an mDNS advertised service.
23 DOMString[] serviceData;
26 // Callback invoked after ForceDiscovery() has started.
27 callback VoidCallback = void();
29 interface Functions {
30 // Immediately issues a multicast DNS query for all service types.
31 // |callback| is invoked immediately. At a later time, queries will be
32 // sent, and any service events will be fired.
33 static void forceDiscovery(VoidCallback callback);
36 interface Properties {
37 // The maximum number of service instances that will be included in
38 // onServiceList events. If more instances are available, they may be
39 // truncated from the onServiceList event.
40 [value=64] static long MAX_SERVICE_INSTANCES_PER_EVENT();
43 interface Events {
44 // Event fired to inform clients of the current complete set of known
45 // available services. Clients should only need to store the list from the
46 // most recent event. The service type that the extension is interested in
47 // discovering should be specified as the event filter with the
48 // 'serviceType' key. Not specifying an event filter will not start any
49 // discovery listeners.
50 [supportsFilters=true, maxListeners=10] static void onServiceList(
51 MDnsService[] services);