# Generate bindings for the C headers.
# Regenerate bindings with `dart run tool/generate_code.dart`.
name: CBindings
output: 'lib/src/c_bindings_generated.dart'
headers:
  entry-points:
    - 'src/include/dart_api_dl.h'
    - 'src/objective_c.h'
    - 'src/os_version.h'
ffi-native:
  asset-id: 'package:objective_c/objective_c.dylib'
exclude-all-by-default: true
generate-for-package-objective-c: true
sort: true
functions:
  include:
    - 'newFinalizableHandle'
    - 'DOBJC_.*'
  leaf:
    include:
      - '.*'
    exclude:
      - 'DOBJC_deleteFinalizableHandle'
      - 'DOBJC_disposeObjCBlockWithClosure'
      - 'DOBJC_newFinalizableBool'
      - 'DOBJC_newFinalizableHandle'
      - 'DOBJC_awaitWaiter'
  rename:
    'DOBJC_(.*)': '$1'
typedefs:
  include:
    - 'Dart_FinalizableHandle'
structs:
  include:
    - '_DOBJC_Context'
  rename:
    '_ObjC(.*)': 'ObjC$1'
    '_Dart_FinalizableHandle': 'Dart_FinalizableHandle_'
    '_DOBJC_Context': 'DOBJC_Context'
macros:
  include:
    - 'ILLEGAL_PORT'
preamble: |
  // Copyright (c) 2024, the Dart project authors. Please see the AUTHORS file
  // for details. All rights reserved. Use of this source code is governed by a
  // BSD-style license that can be found in the LICENSE file.

  // Bindings for `src/objective_c.h` etc.
  // Regenerate bindings with `dart run tool/generate_code.dart`.

  // coverage:ignore-file
