summaryrefslogtreecommitdiffstats
path: root/chrome/common/extensions/api/mdns.idl
blob: 434d4b8187ff8912241fdae3b3d81a152dfbb31a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// Use the <code>chrome.mdns</code> API to discover services over mDNS.
// This comprises a subset of the features of the NSD spec:
// http://www.w3.org/TR/discovery-api/
namespace mdns {

  // Represents a mDNS/DNS-SD service.
  dictionary MDnsService {
    // The service name of an mDNS advertised service,
    // <instance_name>.<service_type>.
    DOMString serviceName;

    // The host:port pair of an mDNS advertised service.
    DOMString serviceHostPort;

    // The IP address of an mDNS advertised service.
    DOMString ipAddress;

    // Metadata for an mDNS advertised service.
    DOMString[] serviceData;
  };

  interface Events {
    // Event fired to inform clients of the current complete set of known
    // available services. Clients should only need to store the list from the
    // most recent event. The service type that the extension is interested in
    // discovering should be specified as the event filter with the
    // 'serviceType' key. Not specifying an event filter will not start any
    // discovery listeners.
    [supportsFilters=true] static void onServiceList(MDnsService[] services);
  };
};