ffi.dart 575 B

12345678910111213141516171819202122232425262728
  1. import 'dart:ffi';
  2. import 'bridge_generated.dart';
  3. export 'bridge_generated.dart';
  4. import 'dart:io' as io;
  5. const _base = 'appcore';
  6. AppCoreApi? _apiInstance;
  7. init({bool isTest=false}){
  8. var dylib = io.Platform.isWindows ? '$_base.dll' : 'lib$_base.so';
  9. if(isTest){
  10. dylib = './third_party/appcore/target/release/$dylib';
  11. }
  12. _apiInstance = AppCoreApiImpl(io.Platform.isIOS || io.Platform.isMacOS
  13. ? DynamicLibrary.executable()
  14. : DynamicLibrary.open(dylib));
  15. }
  16. AppCoreApi get api {
  17. if(_apiInstance==null){
  18. init();
  19. }
  20. return _apiInstance!;
  21. }