LCOV - code coverage report
Current view: top level - src - enqueue_request.dart Coverage Total Hit
Test: lcov.info Lines: 100.0 % 1 1
Test Date: 2026-04-30 18:23:23 Functions: - 0 0

            Line data    Source code
       1              : import 'package:flutter/foundation.dart';
       2              : 
       3              : import 'constraints.dart';
       4              : import 'events.dart';
       5              : import 'task_trigger.dart';
       6              : import 'worker.dart';
       7              : 
       8              : /// A single task request for use with [NativeWorkManager.enqueueAll].
       9              : ///
      10              : /// Bundles all parameters needed to call `NativeWorkManager.enqueue` so that
      11              : /// multiple tasks can be submitted in a single [NativeWorkManager.enqueueAll]
      12              : /// call.
      13              : ///
      14              : /// ## Example
      15              : ///
      16              : /// ```dart
      17              : /// final paths = ['/data/a.zip', '/data/b.zip'];
      18              : /// final urls  = ['https://cdn.example.com/a.zip',
      19              : ///                'https://cdn.example.com/b.zip'];
      20              : ///
      21              : /// final results = await NativeWorkManager.enqueueAll([
      22              : ///   for (var i = 0; i < paths.length; i++)
      23              : ///     EnqueueRequest(
      24              : ///       taskId: 'dl-$i',
      25              : ///       trigger: TaskTrigger.oneTime(),
      26              : ///       worker: NativeWorker.httpDownload(url: urls[i], savePath: paths[i]),
      27              : ///       tag: 'batch-download',
      28              : ///     ),
      29              : /// ]);
      30              : ///
      31              : /// final accepted = results.where((r) => r == ScheduleResult.accepted).length;
      32              : /// print('$accepted / ${results.length} tasks accepted');
      33              : /// ```
      34              : @immutable
      35              : class EnqueueRequest {
      36            1 :   const EnqueueRequest({
      37              :     required this.taskId,
      38              :     required this.trigger,
      39              :     required this.worker,
      40              :     this.constraints = const Constraints(),
      41              :     this.existingPolicy = ExistingTaskPolicy.replace,
      42              :     this.tag,
      43              :   });
      44              : 
      45              :   /// Unique identifier for this task.
      46              :   final String taskId;
      47              : 
      48              :   /// When to run the task.
      49              :   final TaskTrigger trigger;
      50              : 
      51              :   /// The worker implementation to execute.
      52              :   final Worker worker;
      53              : 
      54              :   /// Device constraints (network, battery, etc.).
      55              :   final Constraints constraints;
      56              : 
      57              :   /// What to do when a task with [taskId] already exists.
      58              :   final ExistingTaskPolicy existingPolicy;
      59              : 
      60              :   /// Optional tag for grouping (see [NativeWorkManager.cancelByTag]).
      61              :   final String? tag;
      62              : }
        

Generated by: LCOV version 2.4-0