replace_async


Description:

public virtual async FileOutputStream replace_async (string? etag, bool make_backup, FileCreateFlags flags, int io_priority = DEFAULT, Cancellable? cancellable = null) throws Error

Asynchronously overwrites the file, replacing the contents, possibly creating a backup copy of the file first.

For more details, see replace which is the synchronous version of this call.

When the operation is finished, callback will be called. You can then call replace_async.end to get the result of the operation.

Example: Replace file-content (stream-based), async:

public static int main (string[] args) {
if (args.length != 2) {
print ("%s FILE\n", args[0]);
return 0;
}

MainLoop loop = new MainLoop ();

File file = File.new_for_commandline_arg (args[1]);
file.replace_async.begin (null, false, FileCreateFlags.NONE, Priority.DEFAULT, null, (obj, res) => {
try {
OutputStream ostream = file.replace_async.end (res);
DataOutputStream dostream = new DataOutputStream (ostream);
dostream.put_string ("new-line\n");
} catch (Error e) {
print ("Error: %s\n", e.message);
}

loop.quit ();
});

loop.run ();
return 0;
}

valac --pkg gio-2.0 GLib.File.replace_async.vala

Parameters:

this

input File

etag

an [entity tag](entity-tags) for the current File, or null to ignore

make_backup

true if a backup should be created

flags

a set of FileCreateFlags

io_priority

the I/O priority of the request

cancellable

optional Cancellable object, null to ignore

callback

a TaskReadyCallback to call when the request is satisfied

user_data

the data to pass to callback function