| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 | /// bindings for `libdart_ffi`import 'dart:ffi';import 'dart:io';// ignore: import_of_legacy_library_into_null_safeimport 'package:ffi/ffi.dart' as ffi;import 'package:flutter/foundation.dart' as Foundation;// ignore_for_file: unused_import, camel_case_types, non_constant_identifier_namesfinal DynamicLibrary _dart_ffi_lib = _open();/// Reference to the Dynamic Library, it should be only used for low-level accessfinal DynamicLibrary dl = _dart_ffi_lib;DynamicLibrary _open() {  if (Platform.environment.containsKey('FLUTTER_TEST')) {    final prefix = "${Directory.current.path}/.sandbox";    if (Platform.isLinux)      return DynamicLibrary.open('${prefix}/libdart_ffi.so');    if (Platform.isAndroid)      return DynamicLibrary.open('${prefix}/libdart_ffi.so');    if (Platform.isMacOS)      return DynamicLibrary.open('${prefix}/libdart_ffi.dylib');    if (Platform.isIOS) return DynamicLibrary.open('${prefix}/libdart_ffi.a');    if (Platform.isWindows)      return DynamicLibrary.open('${prefix}/dart_ffi.dll');  } else {    if (Platform.isLinux) return DynamicLibrary.open('libdart_ffi.so');    if (Platform.isAndroid) return DynamicLibrary.open('libdart_ffi.so');    if (Platform.isMacOS) return DynamicLibrary.executable();    if (Platform.isIOS) return DynamicLibrary.executable();    if (Platform.isWindows) return DynamicLibrary.open('dart_ffi.dll');  }  throw UnsupportedError('This platform is not supported.');}/// C function `async_event`.void async_event(  int port,  Pointer<Uint8> input,  int len,) {  _invoke_async(port, input, len);}final _invoke_async_Dart _invoke_async = _dart_ffi_lib    .lookupFunction<_invoke_async_C, _invoke_async_Dart>('async_event');typedef _invoke_async_C = Void Function(  Int64 port,  Pointer<Uint8> input,  Uint64 len,);typedef _invoke_async_Dart = void Function(  int port,  Pointer<Uint8> input,  int len,);/// C function `sync_event`.Pointer<Uint8> sync_event(  Pointer<Uint8> input,  int len,) {  return _invoke_sync(input, len);}final _invoke_sync_Dart _invoke_sync = _dart_ffi_lib    .lookupFunction<_invoke_sync_C, _invoke_sync_Dart>('sync_event');typedef _invoke_sync_C = Pointer<Uint8> Function(  Pointer<Uint8> input,  Uint64 len,);typedef _invoke_sync_Dart = Pointer<Uint8> Function(  Pointer<Uint8> input,  int len,);/// C function `init_sdk`.int init_sdk(  Pointer<ffi.Utf8> path,) {  return _init_sdk(path);}final _init_sdk_Dart _init_sdk =    _dart_ffi_lib.lookupFunction<_init_sdk_C, _init_sdk_Dart>('init_sdk');typedef _init_sdk_C = Int64 Function(  Pointer<ffi.Utf8> path,);typedef _init_sdk_Dart = int Function(  Pointer<ffi.Utf8> path,);/// C function `init_stream`.int set_stream_port(int port) {  return _set_stream_port(port);}final _set_stream_port_Dart _set_stream_port =    _dart_ffi_lib.lookupFunction<_set_stream_port_C, _set_stream_port_Dart>(        'set_stream_port');typedef _set_stream_port_C = Int32 Function(  Int64 port,);typedef _set_stream_port_Dart = int Function(  int port,);/// C function `link_me_please`.void link_me_please() {  _link_me_please();}final _link_me_please_Dart _link_me_please = _dart_ffi_lib    .lookupFunction<_link_me_please_C, _link_me_please_Dart>('link_me_please');typedef _link_me_please_C = Void Function();typedef _link_me_please_Dart = void Function();/// Binding to `allo-isolate` cratevoid store_dart_post_cobject(  Pointer<NativeFunction<Int8 Function(Int64, Pointer<Dart_CObject>)>> ptr,) {  _store_dart_post_cobject(ptr);}final _store_dart_post_cobject_Dart _store_dart_post_cobject = _dart_ffi_lib    .lookupFunction<_store_dart_post_cobject_C, _store_dart_post_cobject_Dart>(        'store_dart_post_cobject');typedef _store_dart_post_cobject_C = Void Function(  Pointer<NativeFunction<Int8 Function(Int64, Pointer<Dart_CObject>)>> ptr,);typedef _store_dart_post_cobject_Dart = void Function(  Pointer<NativeFunction<Int8 Function(Int64, Pointer<Dart_CObject>)>> ptr,);
 |