prep for plugin interface
This commit is contained in:
@@ -21,6 +21,10 @@ abstract class VeilidFlutter {
|
||||
Future<VeilidState> getVeilidState({dynamic hint});
|
||||
|
||||
Future<void> shutdownVeilidCore({dynamic hint});
|
||||
|
||||
Future<String> veilidVersionString({dynamic hint});
|
||||
|
||||
Future<VeilidVersion> veilidVersion({dynamic hint});
|
||||
}
|
||||
|
||||
enum AttachmentState {
|
||||
@@ -187,6 +191,18 @@ class VeilidUpdate with _$VeilidUpdate {
|
||||
) = Attachment;
|
||||
}
|
||||
|
||||
class VeilidVersion {
|
||||
final int major;
|
||||
final int minor;
|
||||
final int patch;
|
||||
|
||||
VeilidVersion({
|
||||
required this.major,
|
||||
required this.minor,
|
||||
required this.patch,
|
||||
});
|
||||
}
|
||||
|
||||
class VeilidFlutterImpl extends FlutterRustBridgeBase<VeilidFlutterWire>
|
||||
implements VeilidFlutter {
|
||||
factory VeilidFlutterImpl(ffi.DynamicLibrary dylib) =>
|
||||
@@ -232,6 +248,30 @@ class VeilidFlutterImpl extends FlutterRustBridgeBase<VeilidFlutterWire>
|
||||
hint: hint,
|
||||
));
|
||||
|
||||
Future<String> veilidVersionString({dynamic hint}) =>
|
||||
executeNormal(FlutterRustBridgeTask(
|
||||
callFfi: (port) => inner.wire_veilid_version_string(port),
|
||||
parseSuccessData: _wire2api_String,
|
||||
constMeta: const FlutterRustBridgeTaskConstMeta(
|
||||
debugName: "veilid_version_string",
|
||||
argNames: [],
|
||||
),
|
||||
argValues: [],
|
||||
hint: hint,
|
||||
));
|
||||
|
||||
Future<VeilidVersion> veilidVersion({dynamic hint}) =>
|
||||
executeNormal(FlutterRustBridgeTask(
|
||||
callFfi: (port) => inner.wire_veilid_version(port),
|
||||
parseSuccessData: _wire2api_veilid_version,
|
||||
constMeta: const FlutterRustBridgeTaskConstMeta(
|
||||
debugName: "veilid_version",
|
||||
argNames: [],
|
||||
),
|
||||
argValues: [],
|
||||
hint: hint,
|
||||
));
|
||||
|
||||
// Section: api2wire
|
||||
ffi.Pointer<wire_uint_8_list> _api2wire_String(String raw) {
|
||||
return _api2wire_uint_8_list(utf8.encoder.convert(raw));
|
||||
@@ -419,10 +459,26 @@ class VeilidFlutterImpl extends FlutterRustBridgeBase<VeilidFlutterWire>
|
||||
}
|
||||
|
||||
// Section: wire2api
|
||||
String _wire2api_String(dynamic raw) {
|
||||
return raw as String;
|
||||
}
|
||||
|
||||
AttachmentState _wire2api_attachment_state(dynamic raw) {
|
||||
return AttachmentState.values[raw];
|
||||
}
|
||||
|
||||
int _wire2api_u32(dynamic raw) {
|
||||
return raw as int;
|
||||
}
|
||||
|
||||
int _wire2api_u8(dynamic raw) {
|
||||
return raw as int;
|
||||
}
|
||||
|
||||
Uint8List _wire2api_uint_8_list(dynamic raw) {
|
||||
return raw as Uint8List;
|
||||
}
|
||||
|
||||
void _wire2api_unit(dynamic raw) {
|
||||
return;
|
||||
}
|
||||
@@ -447,6 +503,17 @@ VeilidUpdate _wire2api_veilid_update(dynamic raw) {
|
||||
}
|
||||
}
|
||||
|
||||
VeilidVersion _wire2api_veilid_version(dynamic raw) {
|
||||
final arr = raw as List<dynamic>;
|
||||
if (arr.length != 3)
|
||||
throw Exception('unexpected arr length: expect 3 but see ${arr.length}');
|
||||
return VeilidVersion(
|
||||
major: _wire2api_u32(arr[0]),
|
||||
minor: _wire2api_u32(arr[1]),
|
||||
patch: _wire2api_u32(arr[2]),
|
||||
);
|
||||
}
|
||||
|
||||
// ignore_for_file: camel_case_types, non_constant_identifier_names, avoid_positional_boolean_parameters, annotate_overrides, constant_identifier_names
|
||||
|
||||
// AUTO GENERATED FILE, DO NOT EDIT.
|
||||
@@ -514,6 +581,34 @@ class VeilidFlutterWire implements FlutterRustBridgeWireBase {
|
||||
late final _wire_shutdown_veilid_core =
|
||||
_wire_shutdown_veilid_corePtr.asFunction<void Function(int)>();
|
||||
|
||||
void wire_veilid_version_string(
|
||||
int port_,
|
||||
) {
|
||||
return _wire_veilid_version_string(
|
||||
port_,
|
||||
);
|
||||
}
|
||||
|
||||
late final _wire_veilid_version_stringPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int64)>>(
|
||||
'wire_veilid_version_string');
|
||||
late final _wire_veilid_version_string =
|
||||
_wire_veilid_version_stringPtr.asFunction<void Function(int)>();
|
||||
|
||||
void wire_veilid_version(
|
||||
int port_,
|
||||
) {
|
||||
return _wire_veilid_version(
|
||||
port_,
|
||||
);
|
||||
}
|
||||
|
||||
late final _wire_veilid_versionPtr =
|
||||
_lookup<ffi.NativeFunction<ffi.Void Function(ffi.Int64)>>(
|
||||
'wire_veilid_version');
|
||||
late final _wire_veilid_version =
|
||||
_wire_veilid_versionPtr.asFunction<void Function(int)>();
|
||||
|
||||
ffi.Pointer<wire_StringList> new_StringList(
|
||||
int len,
|
||||
) {
|
||||
|
@@ -1,7 +1,7 @@
|
||||
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:flutter/services.dart';
|
||||
import 'package:veilid/bridge_generated.dart';
|
||||
|
||||
class Veilid {
|
||||
static const MethodChannel _channel = MethodChannel('veilid');
|
||||
|
Reference in New Issue
Block a user