alef 0.49.0

Opinionated polyglot binding generator for Rust libraries
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// C function pointer for {{ service_snake }}.{{ reg_snake }} callback registration
// This function is defined as a plain extern "C" in the Rust crate (outside the swift-bridge module).
// Swift calls it via this @_silgen_name import at module scope.
@_silgen_name("{{ service_snake }}_{{ reg_snake }}_via_callback")
private func _{{ service_snake }}_{{ reg_snake }}_via_callback(
    _ app: OpaquePointer,
    {%- for meta_param in metadata_params %}
    {%- if meta_param.is_opaque_wrapper %}
    _ {{ meta_param.name }}: OpaquePointer,
    {%- else %}
    _ {{ meta_param.name }}: {{ meta_param.swift_type }},
    {%- endif %}
    {%- endfor %}
    _ ctx: UnsafeMutableRawPointer?,
    _ callback: @convention(c) (UnsafeMutableRawPointer?, UnsafePointer<UInt8>?, Int) -> UnsafeMutablePointer<UInt8>?
) -> Int32