create method
Implementation
@pragma('vm:entry-point')
Future<DownloadManagerResponse> create({
required DownRequire req,
Function? fc,
}) async {
DownloadManagerResponse response = DownloadManagerResponse(
token: 0,
status: true,
);
try {
if (req.token == 0) {
req.token = ManSettings().token();
}
response.token = req.token;
ManReques _req = ManReques(
url: req.url,
extension: req.extension,
fileName: req.fileName,
token: req.token,
priority: req.priority,
setting: req.setting ??= ManSettings(),
);
_task.addAll({response.token: TaskDownload(token: response.token)});
_req.sendPort = _task[response.token]?.rcvPort.sendPort;
_task[response.token]?.root = await Isolate.spawn<ManReques>(
RunDownload().starDownload,
_req,
);
_task[response.token]?.listing();
if (fc != null) {
fc();
}
} catch (e) {
response.status = false;
}
return response;
}