ffi_proxy library
Spine Runtimes License Agreement Last updated July 28, 2023. Replaces all prior versions.
Copyright (c) 2013-2023, Esoteric Software LLC
Integration of the Spine Runtimes into software or otherwise creating derivative works of the Spine Runtimes is permitted under the terms and conditions of Section 2 of the Spine Editor License Agreement: http://esotericsoftware.com/spine-editor-license
Otherwise, it is permitted to integrate the Spine Runtimes into software or otherwise create derivative works of the Spine Runtimes (collectively, "Products"), provided that each user of the Products must obtain their own Spine Editor license and redistribution of the Products in any form must include this license and copyright notice.
THE SPINE RUNTIMES ARE PROVIDED BY ESOTERIC SOFTWARE LLC "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ESOTERIC SOFTWARE LLC BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES, BUSINESS INTERRUPTION, OR LOSS OF USE, DATA, OR PROFITS) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THE SPINE RUNTIMES, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Classes
- Abi
- An application binary interface (ABI).
- AbiSpecificInteger
- The supertype of all Abi-specific integer types.
- AbiSpecificIntegerMapping
- Mapping for a subtype of AbiSpecificInteger.
- Allocator
- Manages memory on the native heap.
- Arena
- An Allocator which frees all allocations at the same time.
-
Array<
T extends NativeType> -
A fixed-sized array of
T
s. - Bool
- Represents a native bool in C.
- Char
-
The C
char
type. - Dart_CObject
- Opaque, not exposing it's members.
- DartRepresentationOf
- DefaultAsset
- Annotation specifying the default asset ID for the current library.
- Double
- Represents a native 64 bit double in C.
- DynamicLibrary
- A dynamically loaded native library.
- Finalizable
- Marker interface for objects which should not be finalized too soon.
- Float
- Represents a native 32 bit float in C.
- Handle
-
Represents
Dart_Handle
fromdart_api.h
in C. - Int
-
The C
int
type. - Int16
- Represents a native signed 16 bit integer in C.
- Int32
- Represents a native signed 32 bit integer in C.
- Int64
- Represents a native signed 64 bit integer in C.
- Int8
- Represents a native signed 8 bit integer in C.
- IntPtr
-
The C
intptr_t
type. - Long
-
The C
long int
, aka.long
, type. - LongLong
-
The C
long long
type. -
Native<
T> - Annotation binding an external declaration to its native implementation.
- NativeApi
-
Utilities for accessing the Dart VM API from Dart code or
from C code via
dart_api_dl.h
. -
NativeCallable<
T extends Function> - A native callable which listens for calls to a native function.
- NativeFinalizer
- A native finalizer which can be attached to Dart objects.
-
NativeFunction<
T extends Function> - Represents a function type in C.
- NativeType
- NativeType's subtypes represent a native type in C.
- Opaque
- Opaque's subtypes represent opaque types in C.
- Packed
-
Annotation to specify on
Struct
subtypes to indicate that its members need to be packed. -
Pointer<
T extends NativeType> - Represents a pointer into the native C memory. Cannot be extended.
- Short
-
The C
short
type. - SignedChar
-
The C
signed char
type. - Size
-
The C
size_t
type. - SizedNativeType
- A NativeType with a known size.
- Struct
- The supertype of all FFI struct types.
- Uint16
- Represents a native unsigned 16 bit integer in C.
- Uint32
- Represents a native unsigned 32 bit integer in C.
- Uint64
- Represents a native unsigned 64 bit integer in C.
- Uint8
- Represents a native unsigned 8 bit integer in C.
- UintPtr
-
The C
uintptr_t
type. - Union
- The supertype of all FFI union types.
- UnsignedChar
-
The C
unsigned char
type. - UnsignedInt
-
The C
unsigned int
type. - UnsignedLong
-
The C
unsigned long int
, aka.unsigned long
, type. - UnsignedLongLong
-
The C
unsigned long long
type. - UnsignedShort
-
The C
unsigned short
type. - Utf16
- The contents of a native zero-terminated array of UTF-16 code units.
- Utf8
- The contents of a native zero-terminated array of UTF-8 code units.
-
VarArgs<
T extends Record> - The types of variadic arguments passed in C.
- Void
- Represents a void type in C.
- WChar
-
The C
wchar_t
type.
Extensions
-
AbiSpecificIntegerArray
on Array<
T> - Bounds checking indexing methods on Arrays of AbiSpecificInteger.
-
AbiSpecificIntegerPointer
on Pointer<
T> - Extension on Pointer specialized for the type argument AbiSpecificInteger.
- AllocatorAlloc on Allocator
- Extension on Allocator to provide allocation with NativeType.
-
ArrayAddress
on Array<
T> -
ArrayArray
on Array<
Array< T> > - Bounds checking indexing methods on Arrays of Array.
- BoolAddress on bool
-
BoolArray
on Array<
Bool> - Bounds checking indexing methods on Arrays of Bool.
-
BoolPointer
on Pointer<
Bool> - Extension on Pointer specialized for the type argument Bool.
- DoubleAddress on double
-
DoubleArray
on Array<
Double> - Bounds checking indexing methods on Arrays of Double.
-
DoublePointer
on Pointer<
Double> - Extension on Pointer specialized for the type argument Double.
- DynamicLibraryExtension on DynamicLibrary
- Method which must not be invoked dynamically.
- Float32ListAddress on Float32List
- Float64ListAddress on Float64List
-
FloatArray
on Array<
Float> - Bounds checking indexing methods on Arrays of Float.
-
FloatPointer
on Pointer<
Float> - Extension on Pointer specialized for the type argument Float.
-
Int16Array
on Array<
Int16> - Bounds checking indexing methods on Arrays of Int16.
- Int16ListAddress on Int16List
-
Int16Pointer
on Pointer<
Int16> - Extension on Pointer specialized for the type argument Int16.
-
Int32Array
on Array<
Int32> - Bounds checking indexing methods on Arrays of Int32.
- Int32ListAddress on Int32List
-
Int32Pointer
on Pointer<
Int32> - Extension on Pointer specialized for the type argument Int32.
-
Int64Array
on Array<
Int64> - Bounds checking indexing methods on Arrays of Int64.
- Int64ListAddress on Int64List
-
Int64Pointer
on Pointer<
Int64> - Extension on Pointer specialized for the type argument Int64.
-
Int8Array
on Array<
Int8> - Bounds checking indexing methods on Arrays of Int8.
- Int8ListAddress on Int8List
-
Int8Pointer
on Pointer<
Int8> - Extension on Pointer specialized for the type argument Int8.
- IntAddress on int
-
NativeFunctionPointer
on Pointer<
NativeFunction< NF> > - Extension on Pointer specialized for the type argument NativeFunction.
- NativePort on SendPort
-
Extension to retrieve the native
Dart_Port
from a SendPort. -
PointerArray
on Array<
Pointer< T> > - Bounds checking indexing methods on Arrays of Pointer.
-
PointerPointer
on Pointer<
Pointer< T> > - Extension on Pointer specialized for the type argument Pointer.
- StringUtf16Pointer on String
-
Extension method for converting a String to a
Pointer<Utf16>
. - StringUtf8Pointer on String
-
Extension method for converting a String to a
Pointer<Utf8>
. - StructAddress on T
-
StructArray
on Array<
T> - Bounds checking indexing methods on Arrays of Struct.
-
StructPointer
on Pointer<
T> - Extension on Pointer specialized for the type argument Struct.
-
Uint16Array
on Array<
Uint16> - Bounds checking indexing methods on Arrays of Uint16.
- Uint16ListAddress on Uint16List
-
Uint16Pointer
on Pointer<
Uint16> - Extension on Pointer specialized for the type argument Uint16.
-
Uint32Array
on Array<
Uint32> - Bounds checking indexing methods on Arrays of Uint32.
- Uint32ListAddress on Uint32List
-
Uint32Pointer
on Pointer<
Uint32> - Extension on Pointer specialized for the type argument Uint32.
-
Uint64Array
on Array<
Uint64> - Bounds checking indexing methods on Arrays of Uint64.
- Uint64ListAddress on Uint64List
-
Uint64Pointer
on Pointer<
Uint64> - Extension on Pointer specialized for the type argument Uint64.
-
Uint8Array
on Array<
Uint8> - Bounds checking indexing methods on Arrays of Uint8.
- Uint8ListAddress on Uint8List
-
Uint8Pointer
on Pointer<
Uint8> - Extension on Pointer specialized for the type argument Uint8.
- UnionAddress on T
-
UnionArray
on Array<
T> - Bounds checking indexing methods on Arrays of Union.
-
UnionPointer
on Pointer<
T> - Extension on Pointer specialized for the type argument Union.
-
Utf16Pointer
on Pointer<
Utf16> -
Extension method for converting a
Pointer<Utf16>
to a String. -
Utf8Pointer
on Pointer<
Utf8> -
Extension method for converting a
Pointer<Utf8>
to a String.
Constants
Properties
Functions
-
sizeOf<
T extends SizedNativeType> () → int - Number of bytes used by native type T.
-
using<
R> (R computation(Arena), [Allocator wrappedAllocator = calloc]) → R -
Runs
computation
with a new Arena, and releases all allocations at the end. -
withZoneArena<
R> (R computation(), [Allocator wrappedAllocator = calloc]) → R - Creates a zoned Arena to manage native resources.
Typedefs
-
Dart_NativeMessageHandler
= Void Function(Int64, Pointer<
Dart_CObject> ) -
NativeFinalizerFunction
= NativeFunction<
Void Function(Pointer< Void> token)> - The native function type for NativeFinalizers.