blob: 599f639b391ac0dcde823e44a8c7675a23188c2c [file] [log] [blame] [edit]
// AUTO GENERATED FILE, DO NOT EDIT.
//
// Generated by `package:ffigen`.
// ignore_for_file: type=lint
import 'dart:ffi' as ffi;
/// Bindings to `headers/example.h`.
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;
/// Adds 2 integers.
int sum(int a, int b) {
return _sum(a, b);
}
late final _sumPtr =
_lookup<ffi.NativeFunction<ffi.Int Function(ffi.Int, ffi.Int)>>('sum');
late final _sum = _sumPtr.asFunction<int Function(int, int)>();
/// Subtracts 2 integers.
int subtract(ffi.Pointer<ffi.Int> a, int b) {
return _subtract(a, b);
}
late final _subtractPtr =
_lookup<
ffi.NativeFunction<ffi.Int Function(ffi.Pointer<ffi.Int>, ffi.Int)>
>('subtract');
late final _subtract = _subtractPtr
.asFunction<int Function(ffi.Pointer<ffi.Int>, int)>();
/// Multiplies 2 integers, returns pointer to an integer,.
ffi.Pointer<ffi.Int> multiply(int a, int b) {
return _multiply(a, b);
}
late final _multiplyPtr =
_lookup<
ffi.NativeFunction<ffi.Pointer<ffi.Int> Function(ffi.Int, ffi.Int)>
>('multiply');
late final _multiply = _multiplyPtr
.asFunction<ffi.Pointer<ffi.Int> Function(int, int)>();
/// Divides 2 integers, returns pointer to a float.
ffi.Pointer<ffi.Float> divide(int a, int b) {
return _divide(a, b);
}
late final _dividePtr =
_lookup<
ffi.NativeFunction<ffi.Pointer<ffi.Float> Function(ffi.Int, ffi.Int)>
>('divide');
late final _divide = _dividePtr
.asFunction<ffi.Pointer<ffi.Float> Function(int, int)>();
/// Divides 2 floats, returns a pointer to double.
ffi.Pointer<ffi.Double> dividePrecision(
ffi.Pointer<ffi.Float> a,
ffi.Pointer<ffi.Float> b,
) {
return _dividePrecision(a, b);
}
late final _dividePrecisionPtr =
_lookup<
ffi.NativeFunction<
ffi.Pointer<ffi.Double> Function(
ffi.Pointer<ffi.Float>,
ffi.Pointer<ffi.Float>,
)
>
>('dividePrecision');
late final _dividePrecision = _dividePrecisionPtr
.asFunction<
ffi.Pointer<ffi.Double> Function(
ffi.Pointer<ffi.Float>,
ffi.Pointer<ffi.Float>,
)
>();
}