# Copyright 2016 The Fuchsia Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//build/fidl/fidl.gni")

fidl("fuchsia.net.mdns") {
  # TODO(fxbug.dev/35879): Remove lint exclusions by fixing known FIDL lint violations in this target
  excluded_checks = [
    # Some protocols are implemented by the client, so they have client-initiated events that
    # should not be prefixed by 'On'.
    "event-names-must-start-with-on",

    # 'Service' is used in this context to refer to DNS-SD services, not FIDL services.
    "protocol-name-includes-service",
  ]

  sdk_category = "partner"

  sources = [ "mdns.fidl" ]

  public_deps = [
    "//sdk/fidl/fuchsia.net",
    "//zircon/vdso/zx",
  ]
}
