# This is supposed to be a complete list of top-level directories,
# excepting only api/ itself.
include_rules = [
  "-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:

  "call_factory_interface\.h": [
    "+call/rtp_transport_controller_send_factory_interface.h",
  ],

  ".*\.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",
  ],

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

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

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

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

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

  "media_stream_interface\.h": [
    "+modules/audio_processing/include/audio_processing_statistics.h",
  ],

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

  "peer_connection_interface\.h": [
    "+call/rtp_transport_controller_send_factory_interface.h",
    "+media/base/media_config.h",
    "+media/base/media_engine.h",
    "+p2p/base/port.h",
    "+p2p/base/port_allocator.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/ssl_certificate.h",
    "+rtc_base/ssl_stream_adapter.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_event_log_output_file.h": [
    # For private member and constructor.
    "+rtc_base/system/file_wrapper.h",
  ],

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

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

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

  "audioproc_float\.h": [
    "+modules/audio_processing/include/audio_processing.h",
  ],

  "echo_detector_creator\.h": [
    "+modules/audio_processing/include/audio_processing.h",
  ],

  "fake_metronome\.h": [
    "+rtc_base/synchronization/mutex.h",
    "+rtc_base/task_queue.h",
    "+rtc_base/task_utils/repeating_task.h",
    "+rtc_base/thread_annotations.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",
  ],

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

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

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

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

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

  "wrapping_async_dns_resolver\.h": [
    "+rtc_base/async_resolver.h",
    "+rtc_base/async_resolver_interface.h",
    "+rtc_base/socket_address.h",
    "+rtc_base/third_party/sigslot/sigslot.h",
    "+rtc_base/thread_annotations.h",
  ],

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

  "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",
  ],

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