replace_readwrite_async


Description:

[ Version ( since = "2.22" ) ]
public virtual async FileIOStream replace_readwrite_async (string? etag, bool make_backup, FileCreateFlags flags, int io_priority = DEFAULT, Cancellable? cancellable = null) throws Error

Asynchronously overwrites the file in read-write mode, replacing the contents, possibly creating a backup copy of the file first.

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

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

Example: Get a stream to override a file in r/w, 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_readwrite_async.begin (null, false, FileCreateFlags.NONE, Priority.DEFAULT, null, (obj, res) => {
try {
FileIOStream iostream = file.replace_readwrite_async.end (res);

OutputStream ostream = iostream.output_stream;
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_readwrite_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