# Copyright 2018 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.

mojom = "//services/network/public/mojom/p2p.mojom"

public_headers = [ "//services/network/public/cpp/p2p_socket_type.h" ]

traits_headers = [ "//services/network/public/cpp/p2p_param_traits.h" ]

public_deps = [
  "//services/network/public/mojom:mutable_network_traffic_annotation_interface",
  "//third_party/webrtc/rtc_base",
]

type_mappings = [
  "network.mojom.P2PPacketInfo=network::P2PPacketInfo",
  "network.mojom.P2PSendPacketMetrics=network::P2PSendPacketMetrics",
  "network.mojom.P2PPortRange=network::P2PPortRange",
  "network.mojom.P2PHostAndIPEndPoint=network::P2PHostAndIPEndPoint",
  "network.mojom.P2PSocketOption=network::P2PSocketOption",
  "network.mojom.P2PSocketType=network::P2PSocketType",
]
