TaskExecutor<NativeOptions extends Struct, Options extends TaskOptions<NativeOptions> , NativeResult extends Struct, Result extends IOTaskResult> class
abstract
Instantiates and manages an object which can complete MediaPipe tasks. The managed task-completing object does not exist in Dart memory, but instead in platform-dependent native memory.
Extending classes should implement createResultsPointer, createWorker, closeWorker, and any additional task-specific methods. Applications will only call those extra task-specific methods, which will throw an exception on any error communicating with the native workers. It is the job of application code to surround those task-specific methods with try-catch clauses.
Executors are separated from their public API counterparts because FFI and MediaPipe have no concept of asynchrony or futures, so this pattern allows a public-facing task handler to create an executor on a separate isolate, and for Flutter apps to await the results of MediaPipe tasks.
Constructors
- TaskExecutor(Options options)
- Instantiates and manages an object which can complete MediaPipe tasks. The managed task-completing object does not exist in Dart memory, but instead in platform-dependent native memory.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- options → Options
-
Initialization values for the worker.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- taskName → String
-
Debug value for log statements.
no setter
-
worker
→ Pointer<
Void> -
The native MediaPipe object which will complete this task.
no setter
Methods
-
closeWorker(
Pointer< Void> worker, Pointer<Pointer< error) → intChar> > -
Releases the
workerobject behind this task. -
createResultsPointer(
) → Pointer< NativeResult> - Allocates this task's results struct in native memory.
-
createWorker(
Pointer< NativeOptions> options, Pointer<Pointer< error) → Pointer<Char> >Void> - Allocates this task's worker object in native memory.
-
dispose(
) → void - Releases the worker and any remaining resources. After calling dispose, re-using the worker property will recreate the native object and will require a second call to dispose.
-
handleErrorMessage(
Pointer< Pointer< errorMessage, [int? status]) → voidChar> > -
Throws an exception if
errorMessageis non-empty. -
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited