flowy_sdk.dart 890 B

12345678910111213141516171819202122232425262728293031323334
  1. export 'cqrs/cqrs.dart';
  2. export 'package:async/async.dart';
  3. import 'dart:io';
  4. import 'dart:async';
  5. import 'package:flutter/services.dart';
  6. import 'dart:ffi';
  7. import 'ffi/rust_to_flutter_stream.dart';
  8. import 'ffi/ffi.dart' as ffi;
  9. import 'package:ffi/ffi.dart';
  10. class FlowySDK {
  11. static const MethodChannel _channel = MethodChannel('flowy_sdk');
  12. static Future<String> get platformVersion async {
  13. final String version = await _channel.invokeMethod('getPlatformVersion');
  14. return version;
  15. }
  16. const FlowySDK();
  17. void dispose() {
  18. R2FStream.shared.dispose();
  19. }
  20. Future<void> init(Directory sdkDir) async {
  21. final port = R2FStream.shared.port;
  22. ffi.init_stream(port);
  23. ffi.init_logger();
  24. ffi.store_dart_post_cobject(NativeApi.postCObject);
  25. print("Application document directory: ${sdkDir.absolute}");
  26. ffi.init_sdk(sdkDir.path.toNativeUtf8());
  27. }
  28. }