# This is supposed to be a complete list of top-level directories,
# excepting only api/ itself.
include_rules = [
  "-.agents",
  "-agents",
  "-audio",
  "-base",
  "-build",
  "-buildtools",
  "-build_overrides",
  "-call",
  "-common_audio",
  "-common_video",
  "-data",
  "-examples",
  "-experiments",
  "-g3doc",
  "-ios",
  "-infra",
  "-logging",
  "-media",
  "-net",
  "-modules",
  "-out",
  "-p2p",
  "-pc",
  "-resources",
  "-rtc_base",
  "-rtc_tools",
  "-sdk",
  "-stats",
  "-style-guide",
  "-system_wrappers",
  "-test",
  "-testing",
  "-third_party",
  "-tools",
  "-tools_webrtc",
  "-video",
  "-external/webrtc/webrtc",  # Android platform build.
  "-libyuv",
  "-common_types.h",
  "-WebRTC",
]

specific_include_rules = {
  # Some internal headers are allowed even in API headers:

  ".*\\.h": [
    "+rtc_base/checks.h",
    "+rtc_base/system/rtc_export.h",
    "+rtc_base/system/rtc_export_template.h",
    "+rtc_base/units/unit_base.h",
  ],

  "array_view\\.h": [
    "+rtc_base/type_traits.h",
  ],

  # Needed because AudioEncoderOpus is in the wrong place for
  # backwards compatibilty reasons. See
  # https://bugs.chromium.org/p/webrtc/issues/detail?id=7847
  "audio_encoder_opus\\.h": [
    "+modules/audio_coding/codecs/opus/audio_encoder_opus.h",
  ],

  "async_resolver_factory\\.h": [
    "+rtc_base/async_resolver_interface.h",
  ],

  "async_dns_resolver\\.h": [
    "+rtc_base/socket_address.h",
  ],

  "audio_device_defines\\.h": [
    "+rtc_base/strings/string_builder.h",
  ],

  "audio_format\\.h": [
    "+rtc_base/strings/string_builder.h",
  ],

  "candidate\\.h": [
    "+rtc_base/network_constants.h",
    "+rtc_base/socket_address.h",
  ],

  "create_peerconnection_factory\\.h": [
    "+rtc_base/thread.h",
  ],

  "data_channel_interface\\.h": [
    "+rtc_base/copy_on_write_buffer.h",
  ],

  "data_channel_transport_interface\\.h": [
    "+rtc_base/copy_on_write_buffer.h",
  ],

  "datagram_connection\\.h": [
    "+p2p/base/transport_description.h",
  ],

  "mock_datagram_connection\\.h": [
    "+p2p/base/transport_description.h",
  ],

  "datagram_connection_factory\\.h": [
    "+p2p/base/port_allocator.h",
    "+rtc_base/rtc_certificate.h",
  ],

  "dtls_transport_interface\\.h": [
    "+rtc_base/ssl_certificate.h",
  ],

  "fec_controller\\.h": [
    "+modules/include/module_fec_types.h",
  ],

  "ice_server_parsing\\.h": [
    "+p2p/base/port_allocator.h",
    "+rtc_base/socket_address.h",
  ],

  "jsep\\.h": [
    "+absl/strings/has_absl_stringify.h",
    "+absl/strings/str_format.h",
    "+rtc_base/system/no_unique_address.h",
    "+rtc_base/thread_annotations.h",
  ],

  "local_network_access_permission\\.h": [
    "+rtc_base/socket_address.h",
  ],

  "packet_socket_factory\\.h": [
    "+rtc_base/async_packet_socket.h",
    "+rtc_base/socket_address.h",
    "+rtc_base/ssl_certificate.h",
  ],

  "payload_type\\.h": [
    "+absl/strings/str_format.h",
    "+rtc_base/strong_alias.h",
  ],

  "turn_customizer\\.h": [
    "+p2p/base/port_interface.h",
  ],

  "peer_connection_interface\\.h": [
    "+media/base/media_config.h",
    "+media/base/media_engine.h",
    "+p2p/base/port.h",
    "+p2p/base/port_allocator.h",
    "+p2p/dtls/dtls_transport_factory.h",
    "+rtc_base/network.h",
    "+rtc_base/network_constants.h",
    "+rtc_base/network_monitor_factory.h",
    "+rtc_base/rtc_certificate.h",
    "+rtc_base/rtc_certificate_generator.h",
    "+rtc_base/socket_address.h",
    "+rtc_base/socket_factory.h",
    "+rtc_base/ssl_certificate.h",
    "+rtc_base/ssl_stream_adapter.h",
    "+rtc_base/system/plan_b_only.h",
    "+rtc_base/thread.h",
  ],

  "proxy\\.h": [
    "+rtc_base/event.h",
    "+rtc_base/message_handler.h",  # Inherits from it.
    "+rtc_base/thread.h",
  ],

  "ref_counted_base\\.h": [
    "+rtc_base/ref_counter.h",
  ],

  "rtc_error\\.h": [
    "+rtc_base/logging.h",
    "+rtc_base/strings/string_builder.h",
    "+absl/strings/has_absl_stringify.h",
    "+absl/strings/str_format.h",
  ],
  "rtc_event_log_output_file\\.h": [
    # For private member and constructor.
    "+rtc_base/system/file_wrapper.h",
  ],

  "legacy_stats_types\\.h": [
    "+rtc_base/thread_annotations.h",
    "+rtc_base/thread_checker.h",
  ],

  "audio_decoder\\.h": [
    "+rtc_base/buffer.h",
  ],

  "audio_encoder\\.h": [
    "+rtc_base/buffer.h",
  ],

  "make_ref_counted\\.h": [
    "+rtc_base/ref_counted_object.h",
  ],

  "mock.*\\.h": [
    "+test/gmock.h",
  ],

  "mock_peerconnectioninterface\\.h": [
    "+rtc_base/ref_counted_object.h",
  ],

  "mock_video_track\\.h": [
    "+rtc_base/ref_counted_object.h",
  ],

  "notifier\\.h": [
    "+rtc_base/system/no_unique_address.h",
    "+rtc_base/thread_annotations.h",
  ],

  "priority\\.h": [
    "+rtc_base/strong_alias.h",
  ],

  "sctp_transport_interface\\.h": [
    "+absl/strings/str_format.h",
  ],

  "simulated_network\\.h": [
    "+rtc_base/random.h",
    "+rtc_base/thread_annotations.h",
  ],

  "time_controller\\.h": [
    "+rtc_base/thread.h",
  ],

  "videocodec_test_fixture\\.h": [
    "+modules/video_coding/include/video_codec_interface.h"
  ],

  "rtp_parameters\\.h": [
    "+absl/strings/str_format.h",
    "+rtc_base/strings/str_join.h"
  ],

  "sequence_checker\\.h": [
    "+rtc_base/synchronization/sequence_checker_internal.h",
    "+rtc_base/thread_annotations.h",
  ],

  "video_encoder_factory_template.*\\.h": [
    "+modules/video_coding",
  ],

  "video_encoder_factory_interface\\.h": [
    "+rtc_base/numerics",
  ],

  "video_encoder_interface\\.h": [
    "+rtc_base/numerics",
  ],

  "video_quality_test_fixture\\.h": [
    "+video/config/video_encoder_config.h",
  ],

  "simple_encoder_wrapper\\.h": [
    "+common_video",
    "+modules",
  ],

  "video_decoder_factory_template.*\\.h": [
    "+modules/video_coding",
  ],

  "field_trials\\.h": [
    "+rtc_base/containers/flat_map.h",
  ],

  "video_track_source_proxy_factory\\.h": [
    "+rtc_base/thread.h",
  ],

  "field_trials_registry\\.h": [
    "+rtc_base/containers/flat_set.h",
  ],

  "ice_transport_factory\\.h": [
    "+p2p/base/port_allocator.h",
  ],

  # .cc files in api/ should not be restricted in what they can #include,
  # so we re-add all the top-level directories here. (That's because .h
  # files leak their #includes to whoever's #including them, but .cc files
  # do not since no one #includes them.)
  ".*\\.cc": [
    "+audio",
    "+call",
    "+common_audio",
    "+common_video",
    "+examples",
    "+experiments",
    "+logging",
    "+media",
    "+modules",
    "+p2p",
    "+pc",
    "+rtc_base",
    "+rtc_tools",
    "+sdk",
    "+stats",
    "+system_wrappers",
    "+test",
    "+tools",
    "+tools_webrtc",
    "+video",
    "+third_party",
  ],
}
