# 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",
  "-rust",
  "-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",
  ],
}
