@@ -180,12 +180,14 @@ class TransferFileOperation extends BaseFileSystemOperation<bool> {
180180 required this .source,
181181 required this .destination,
182182 this .copy = false ,
183+ this .allowOverwrite = false ,
183184 super .cancellable,
184185 });
185186
186187 final File source;
187188 final File destination;
188189 final bool copy;
190+ final bool allowOverwrite;
189191
190192 late final NativeCallable <Void Function (Bool )> _completeCallable;
191193 late final NativeCallable <Void Function (Float )> _progressCallable;
@@ -199,7 +201,7 @@ class TransferFileOperation extends BaseFileSystemOperation<bool> {
199201 file_copy (
200202 source._handle,
201203 destination._handle,
202- 1 , // ALLOW_OVERWRITE
204+ allowOverwrite ? 1 : 0 ,
203205 _cancellable._handle,
204206 _progressCallable.nativeFunction,
205207 _completeCallable.nativeFunction,
@@ -209,7 +211,7 @@ class TransferFileOperation extends BaseFileSystemOperation<bool> {
209211 file_move (
210212 source._handle,
211213 destination._handle,
212- 1 , // ALLOW_OVERWRITE
214+ allowOverwrite ? 1 : 0 ,
213215 _cancellable._handle,
214216 _progressCallable.nativeFunction,
215217 _completeCallable.nativeFunction,
@@ -284,12 +286,14 @@ class File implements Finalizable {
284286
285287 TransferFileOperation copy ({
286288 required File destination,
289+ bool allowOverwrite = false ,
287290 Cancellable ? cancellable,
288291 }) {
289292 return TransferFileOperation ._(
290293 source: this ,
291294 destination: destination,
292295 copy: true ,
296+ allowOverwrite: allowOverwrite,
293297 cancellable: cancellable,
294298 );
295299 }
@@ -329,12 +333,14 @@ class File implements Finalizable {
329333
330334 TransferFileOperation move ({
331335 required File destination,
336+ bool allowOverwrite = false ,
332337 Cancellable ? cancellable,
333338 }) {
334339 return TransferFileOperation ._(
335340 source: this ,
336341 destination: destination,
337342 copy: false ,
343+ allowOverwrite: false ,
338344 cancellable: cancellable,
339345 );
340346 }
0 commit comments