blob: 80c97c2dac0f4b098f1499fee1e2ec8d00a2134c [file] [log] [blame] [edit]
# 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/objective_c_runtime.h'
- 'src/os_version.h'
ffi-native:
assetId: 'objective_c.framework/objective_c'
exclude-all-by-default: true
generate-for-package-objective-c: true
sort: true
functions:
include:
- 'objc_.*'
- 'object_getClass'
- 'sel_registerName'
- 'sel_getName'
- 'protocol_getMethodDescription'
- 'protocol_getName'
- 'newFinalizableHandle'
- 'DOBJC_.*'
leaf:
include:
- '.*'
exclude:
- 'objc_msgSend.*'
- 'DOBJC_deleteFinalizableHandle'
- 'DOBJC_disposeObjCBlockWithClosure'
- 'DOBJC_newFinalizableBool'
- 'DOBJC_newFinalizableHandle'
- 'DOBJC_awaitWaiter'
rename:
'DOBJC_(.*)': '$1'
'sel_registerName': 'registerName'
'sel_getName': 'getName'
'objc_getClass': 'getClass'
'objc_retain': 'objectRetain'
'objc_retainBlock': 'blockRetain'
'objc_release': 'objectRelease'
'objc_autorelease': 'objectAutorelease'
'objc_msgSend': 'msgSend'
'objc_msgSend_fpret': 'msgSendFpret'
'objc_msgSend_stret': 'msgSendStret'
'object_getClass': 'getObjectClass'
'objc_copyClassList': 'copyClassList'
'objc_getProtocol': 'getProtocol'
'objc_autoreleasePoolPush': 'autoreleasePoolPush'
'objc_autoreleasePoolPop': 'autoreleasePoolPop'
'protocol_getMethodDescription': 'getMethodDescription'
'protocol_getName': 'getProtocolName'
globals:
include:
- '_NSConcrete.*Block'
rename:
'_(.*)': '$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` and `src/objective_c_runtime.h`.
// Regenerate bindings with `dart run tool/generate_code.dart`.
// ignore_for_file: always_specify_types
// ignore_for_file: camel_case_types
// ignore_for_file: non_constant_identifier_names
// ignore_for_file: unused_element
// coverage:ignore-file