71 lines
2.1 KiB
Dart
71 lines
2.1 KiB
Dart
// ignore_for_file: always_specify_types
|
|
// ignore_for_file: camel_case_types
|
|
// ignore_for_file: non_constant_identifier_names
|
|
|
|
// AUTO GENERATED FILE, DO NOT EDIT.
|
|
//
|
|
// Generated by `package:ffigen`.
|
|
// ignore_for_file: type=lint
|
|
import 'dart:ffi' as ffi;
|
|
|
|
/// Bindings for `src/archimedes_mobile_lib.h`.
|
|
///
|
|
/// Regenerate bindings with `flutter pub run ffigen --config ffigen.yaml`.
|
|
///
|
|
class ArchimedesMobileLibBindings {
|
|
/// Holds the symbol lookup function.
|
|
final ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
|
|
_lookup;
|
|
|
|
/// The symbols are looked up in [dynamicLibrary].
|
|
ArchimedesMobileLibBindings(ffi.DynamicLibrary dynamicLibrary)
|
|
: _lookup = dynamicLibrary.lookup;
|
|
|
|
/// The symbols are looked up with [lookup].
|
|
ArchimedesMobileLibBindings.fromLookup(
|
|
ffi.Pointer<T> Function<T extends ffi.NativeType>(String symbolName)
|
|
lookup)
|
|
: _lookup = lookup;
|
|
|
|
/// A very short-lived native function.
|
|
///
|
|
/// For very short-lived functions, it is fine to call them on the main isolate.
|
|
/// They will block the Dart execution while running the native function, so
|
|
/// only do this for native functions which are guaranteed to be short-lived.
|
|
int sum(
|
|
int a,
|
|
int b,
|
|
) {
|
|
return _sum(
|
|
a,
|
|
b,
|
|
);
|
|
}
|
|
|
|
late final _sumPtr =
|
|
_lookup<ffi.NativeFunction<ffi.IntPtr Function(ffi.IntPtr, ffi.IntPtr)>>(
|
|
'sum');
|
|
late final _sum = _sumPtr.asFunction<int Function(int, int)>();
|
|
|
|
/// A longer lived native function, which occupies the thread calling it.
|
|
///
|
|
/// Do not call these kind of native functions in the main isolate. They will
|
|
/// block Dart execution. This will cause dropped frames in Flutter applications.
|
|
/// Instead, call these native functions on a separate isolate.
|
|
int sum_long_running(
|
|
int a,
|
|
int b,
|
|
) {
|
|
return _sum_long_running(
|
|
a,
|
|
b,
|
|
);
|
|
}
|
|
|
|
late final _sum_long_runningPtr =
|
|
_lookup<ffi.NativeFunction<ffi.IntPtr Function(ffi.IntPtr, ffi.IntPtr)>>(
|
|
'sum_long_running');
|
|
late final _sum_long_running =
|
|
_sum_long_runningPtr.asFunction<int Function(int, int)>();
|
|
}
|