diff --git a/lib/src/dnn/dnn_async.dart b/lib/src/dnn/dnn_async.dart index 2f91db8a..a8d6c008 100644 --- a/lib/src/dnn/dnn_async.dart +++ b/lib/src/dnn/dnn_async.dart @@ -16,11 +16,10 @@ import '../opencv.g.dart' as cvg; extension LayerAsync on Layer { Future get nameAsync async { - final p = calloc>(); final rval = cvRunAsync( (callback) => CFFI.Layer_GetName_Async(ref, callback), - (c, result) { - final rval = result.cast().toDartString(); + (c, p) { + final rval = p.cast>().value.toDartString(); calloc.free(p); return c.complete(rval); }, @@ -29,11 +28,10 @@ extension LayerAsync on Layer { } Future get typeAsync async { - final p = calloc>(); final rval = cvRunAsync( (callback) => CFFI.Layer_GetType_Async(ref, callback), - (c, result) { - final rval = result.cast().toDartString(); + (c, p) { + final rval = p.cast>().value.toDartString(); calloc.free(p); return c.complete(rval); }, @@ -73,7 +71,7 @@ extension LayerAsync on Layer { extension NetAsync on Net { static Future emptyAsync() async { - final rval = await cvRunAsync((callback) => CFFI.Net_Create_Async(callback), (c, p) { + final rval = await cvRunAsync(CFFI.Net_Create_Async, (c, p) { return c.complete(Net.fromPointer(p.cast())); }); @@ -219,11 +217,10 @@ extension NetAsync on Net { } Future dumpAsync() async { - final p = calloc>(); final rval = cvRunAsync( (callback) => CFFI.Net_Dump_Async(ref, callback), - (c, result) { - final rval = result.cast().toDartString(); + (c, p) { + final rval = p.cast>().value.toDartString(); calloc.free(p); return c.complete(rval); },