blob: d22e5981f3481eb8c5930fc83c91d455b89af723 [file] [log] [blame]
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
// ignore_for_file: type=lint, unused_import
import 'dart:ffi' as ffi;
/// Native tests.
class NativeLibrary {
/// Holds the symbol lookup function.
final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
_lookup;
/// The symbols are looked up in [dynamicLibrary].
NativeLibrary(ffi.DynamicLibrary dynamicLibrary)
: _lookup = dynamicLibrary.lookup;
/// The symbols are looked up with [lookup].
NativeLibrary.fromLookup(
ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName) lookup,
) : _lookup = lookup;
bool Function1Bool(bool x) {
return _Function1Bool(x);
}
late final _Function1BoolPtr =
_lookup<ffi.NativeFunction<ffi.Bool Function(ffi.Bool)>>('Function1Bool');
late final _Function1Bool =
_Function1BoolPtr.asFunction<bool Function(bool)>();
double Function1Double(double x) {
return _Function1Double(x);
}
late final _Function1DoublePtr =
_lookup<ffi.NativeFunction<ffi.Double Function(ffi.Double)>>(
'Function1Double',
);
late final _Function1Double =
_Function1DoublePtr.asFunction<double Function(double)>();
double Function1Float(double x) {
return _Function1Float(x);
}
late final _Function1FloatPtr =
_lookup<ffi.NativeFunction<ffi.Float Function(ffi.Float)>>(
'Function1Float',
);
late final _Function1Float =
_Function1FloatPtr.asFunction<double Function(double)>();
int Function1Int16(int x) {
return _Function1Int16(x);
}
late final _Function1Int16Ptr =
_lookup<ffi.NativeFunction<ffi.Int16 Function(ffi.Int16)>>(
'Function1Int16',
);
late final _Function1Int16 =
_Function1Int16Ptr.asFunction<int Function(int)>();
int Function1Int32(int x) {
return _Function1Int32(x);
}
late final _Function1Int32Ptr =
_lookup<ffi.NativeFunction<ffi.Int32 Function(ffi.Int32)>>(
'Function1Int32',
);
late final _Function1Int32 =
_Function1Int32Ptr.asFunction<int Function(int)>();
int Function1Int64(int x) {
return _Function1Int64(x);
}
late final _Function1Int64Ptr =
_lookup<ffi.NativeFunction<ffi.Int64 Function(ffi.Int64)>>(
'Function1Int64',
);
late final _Function1Int64 =
_Function1Int64Ptr.asFunction<int Function(int)>();
int Function1Int8(int x) {
return _Function1Int8(x);
}
late final _Function1Int8Ptr =
_lookup<ffi.NativeFunction<ffi.Int8 Function(ffi.Int8)>>('Function1Int8');
late final _Function1Int8 = _Function1Int8Ptr.asFunction<int Function(int)>();
int Function1IntPtr(int x) {
return _Function1IntPtr(x);
}
late final _Function1IntPtrPtr =
_lookup<ffi.NativeFunction<ffi.IntPtr Function(ffi.IntPtr)>>(
'Function1IntPtr',
);
late final _Function1IntPtr =
_Function1IntPtrPtr.asFunction<int Function(int)>();
int Function1StructPassByValue(Struct3 sum_a_b_c) {
return _Function1StructPassByValue(sum_a_b_c);
}
late final _Function1StructPassByValuePtr =
_lookup<ffi.NativeFunction<ffi.Int Function(Struct3)>>(
'Function1StructPassByValue',
);
late final _Function1StructPassByValue =
_Function1StructPassByValuePtr.asFunction<int Function(Struct3)>();
Struct3 Function1StructReturnByValue(int a, int b, int c) {
return _Function1StructReturnByValue(a, b, c);
}
late final _Function1StructReturnByValuePtr =
_lookup<ffi.NativeFunction<Struct3 Function(ffi.Int, ffi.Int, ffi.Int)>>(
'Function1StructReturnByValue',
);
late final _Function1StructReturnByValue =
_Function1StructReturnByValuePtr.asFunction<
Struct3 Function(int, int, int)
>();
int Function1Uint16(int x) {
return _Function1Uint16(x);
}
late final _Function1Uint16Ptr =
_lookup<ffi.NativeFunction<ffi.Uint16 Function(ffi.Uint16)>>(
'Function1Uint16',
);
late final _Function1Uint16 =
_Function1Uint16Ptr.asFunction<int Function(int)>();
int Function1Uint32(int x) {
return _Function1Uint32(x);
}
late final _Function1Uint32Ptr =
_lookup<ffi.NativeFunction<ffi.Uint32 Function(ffi.Uint32)>>(
'Function1Uint32',
);
late final _Function1Uint32 =
_Function1Uint32Ptr.asFunction<int Function(int)>();
int Function1Uint64(int x) {
return _Function1Uint64(x);
}
late final _Function1Uint64Ptr =
_lookup<ffi.NativeFunction<ffi.Uint64 Function(ffi.Uint64)>>(
'Function1Uint64',
);
late final _Function1Uint64 =
_Function1Uint64Ptr.asFunction<int Function(int)>();
int Function1Uint8(int x) {
return _Function1Uint8(x);
}
late final _Function1Uint8Ptr =
_lookup<ffi.NativeFunction<ffi.Uint8 Function(ffi.Uint8)>>(
'Function1Uint8',
);
late final _Function1Uint8 =
_Function1Uint8Ptr.asFunction<int Function(int)>();
int Function1UintPtr(int x) {
return _Function1UintPtr(x);
}
late final _Function1UintPtrPtr =
_lookup<ffi.NativeFunction<ffi.UintPtr Function(ffi.UintPtr)>>(
'Function1UintPtr',
);
late final _Function1UintPtr =
_Function1UintPtrPtr.asFunction<int Function(int)>();
Enum1 funcWithEnum1(Enum1 value) {
return Enum1.fromValue(_funcWithEnum1(value.value));
}
late final _funcWithEnum1Ptr =
_lookup<ffi.NativeFunction<ffi.UnsignedInt Function(ffi.UnsignedInt)>>(
'funcWithEnum1',
);
late final _funcWithEnum1 = _funcWithEnum1Ptr.asFunction<int Function(int)>();
int funcWithEnum2(int value) {
return _funcWithEnum2(value);
}
late final _funcWithEnum2Ptr =
_lookup<ffi.NativeFunction<ffi.UnsignedInt Function(ffi.UnsignedInt)>>(
'funcWithEnum2',
);
late final _funcWithEnum2 = _funcWithEnum2Ptr.asFunction<int Function(int)>();
ffi.Pointer<Struct1> getStruct1() {
return _getStruct1();
}
late final _getStruct1Ptr =
_lookup<ffi.NativeFunction<ffi.Pointer<Struct1> Function()>>(
'getStruct1',
);
late final _getStruct1 = _getStruct1Ptr
.asFunction<ffi.Pointer<Struct1> Function()>();
StructWithEnums getStructWithEnums() {
return _getStructWithEnums();
}
late final _getStructWithEnumsPtr =
_lookup<ffi.NativeFunction<StructWithEnums Function()>>(
'getStructWithEnums',
);
late final _getStructWithEnums = _getStructWithEnumsPtr
.asFunction<StructWithEnums Function()>();
late final ffi.Pointer<ffi.Int> _globalArray = _lookup<ffi.Int>(
'globalArray',
);
ffi.Pointer<ffi.Int> get globalArray => _globalArray;
}
enum Enum1 {
enum1Value1(0),
enum1Value2(1),
enum1Value3(2);
final int value;
const Enum1(this.value);
static Enum1 fromValue(int value) => switch (value) {
0 => enum1Value1,
1 => enum1Value2,
2 => enum1Value3,
_ => throw ArgumentError('Unknown value for Enum1: $value'),
};
}
sealed class Enum2 {
static const enum2Value1 = 0;
static const enum2Value2 = 1;
static const enum2Value3 = 2;
}
final class Struct1 extends ffi.Struct {
@ffi.Int8()
external int a;
@ffi.Array.multi([3, 1, 2])
external ffi.Array<ffi.Array<ffi.Array<ffi.Int32>>> data;
}
final class Struct3 extends ffi.Struct {
@ffi.Int()
external int a;
@ffi.Int()
external int b;
@ffi.Int()
external int c;
}
final class StructWithEnums extends ffi.Struct {
@ffi.UnsignedInt()
external int enum1AsInt;
Enum1 get enum1 => Enum1.fromValue(enum1AsInt);
set enum1(Enum1 value) => enum1AsInt = value.value;
@ffi.Array.multi([5])
external ffi.Array<ffi.UnsignedInt> enum1Array;
external ffi.Pointer<ffi.UnsignedInt> enum1Pointer;
@ffi.UnsignedInt()
external int enum2;
@ffi.Array.multi([5])
external ffi.Array<ffi.UnsignedInt> enum2Array;
external ffi.Pointer<ffi.UnsignedInt> enum2Pointer;
}