# 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",
  "-ios",
  "-infra",
  "-logging",
  "-media",
  "-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/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",
  ],

  "asyncresolverfactory\.h": [
    "+rtc_base/asyncresolverinterface.h",
  ],

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

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

  "datachannelinterface\.h": [
    "+rtc_base/copyonwritebuffer.h",
    "+rtc_base/refcount.h",
  ],

  "dtlstransportinterface\.h": [
    "+rtc_base/refcount.h",
  ],

  "dtmfsenderinterface\.h": [
    "+rtc_base/refcount.h",
  ],

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

  "jsep\.h": [
    "+rtc_base/refcount.h",
  ],

  "jsepicecandidate\.h": [
    "+rtc_base/constructormagic.h",
  ],

  "jsepsessiondescription\.h": [
    "+rtc_base/constructormagic.h",
  ],

  "mediastreaminterface\.h": [
    "+modules/audio_processing/include/audio_processing_statistics.h",
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "media_transport_interface\.h": [
    "+rtc_base/copyonwritebuffer.h",  # As used by datachannelinterface.h
    "+rtc_base/networkroute.h",
    "+rtc_base/deprecation.h",
  ],

  "peerconnectionfactoryproxy\.h": [
    "+rtc_base/bind.h",
  ],

  "peerconnectioninterface\.h": [
    "+logging/rtc_event_log/rtc_event_log_factory_interface.h",
    "+media/base/mediaconfig.h",
    "+media/base/videocapturer.h",
    "+media/base/mediaengine.h",
    "+p2p/base/portallocator.h",
    "+rtc_base/bitrateallocationstrategy.h",
    "+rtc_base/network.h",
    "+rtc_base/platform_file.h",
    "+rtc_base/rtccertificate.h",
    "+rtc_base/rtccertificategenerator.h",
    "+rtc_base/socketaddress.h",
    "+rtc_base/sslcertificate.h",
    "+rtc_base/sslstreamadapter.h",
  ],

  "proxy\.h": [
    "+rtc_base/event.h",
    "+rtc_base/messagehandler.h",  # Inherits from it.
    "+rtc_base/messagequeue.h",    # Inherits from MessageData.
    "+rtc_base/refcountedobject.h",
    "+rtc_base/scoped_ref_ptr.h",
    "+rtc_base/thread.h",
  ],

  "refcountedbase\.h": [
    "+rtc_base/constructormagic.h",
    "+rtc_base/refcount.h",
    "+rtc_base/refcounter.h",
  ],

  "rtcerror\.h": [
    "+rtc_base/logging.h",
  ],

  "rtpreceiverinterface\.h": [
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "rtpsenderinterface\.h": [
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "rtptransceiverinterface\.h": [
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "setremotedescriptionobserverinterface\.h": [
    "+rtc_base/refcount.h",
  ],

  "statstypes\.h": [
    "+rtc_base/constructormagic.h",
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.h",
    "+rtc_base/stringencode.h",
    "+rtc_base/thread_checker.h",
  ],

  "umametrics\.h": [
    "+rtc_base/refcount.h",
  ],

  "audio_frame\.h": [
    "+rtc_base/constructormagic.h",
  ],

  "audio_mixer\.h": [
    "+rtc_base/refcount.h",
  ],

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

  "audio_decoder_factory\.h": [
    "+rtc_base/refcount.h",
  ],

  "audio_decoder_factory_template\.h": [
    "+rtc_base/refcountedobject.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

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

  "audio_encoder_factory\.h": [
    "+rtc_base/refcount.h",
  ],

  "audio_encoder_factory_template\.h": [
    "+rtc_base/refcountedobject.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "builtin_audio_decoder_factory\.h": [
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "builtin_audio_encoder_factory\.h": [
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "framedecryptorinterface\.h": [
    "+rtc_base/refcount.h",
  ],

  "frameencryptorinterface\.h": [
    "+rtc_base/refcount.h",
  ],

  "rtcstatscollectorcallback\.h": [
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

  "rtcstatsreport\.h": [
    "+rtc_base/refcount.h",
    "+rtc_base/refcountedobject.h",
    "+rtc_base/scoped_ref_ptr.h",
  ],

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

  "fake_frame_decryptor\.h": [
    "+rtc_base/refcountedobject.h",
  ],

  "fake_frame_encryptor\.h": [
    "+rtc_base/refcountedobject.h",
  ],

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

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

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

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

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

  "video_encoder_config\.h": [
    "+rtc_base/refcount.h",
    "+rtc_base/scoped_ref_ptr.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",
    "+logging",
    "+media",
    "+modules",
    "+p2p",
    "+pc",
    "+rtc_base",
    "+rtc_tools",
    "+sdk",
    "+stats",
    "+system_wrappers",
    "+test",
    "+tools",
    "+tools_webrtc",
    "+video",
    "+third_party",
  ],
}
