Starts an asynchronous replacement of this with the given contents
of
contents.length
bytes.
etag
will replace the document's current entity tag.
When this operation has completed, callback
will be called with user_user
data, and the operation can be
finalized with replace_contents_async.end.
If cancellable
is not null, then the operation can be cancelled by triggering the
cancellable object from another thread. If the operation was cancelled, the error g_io_error_cancelled
will be returned.
If make_backup
is true, this function will attempt to make a backup of
this.
Note that no copy of contents
will be made, so it must stay valid until callback
is called. See
replace_contents_bytes_async for a Bytes
version that will automatically hold a reference to the contents (without copying) for the duration of the call.
Example: Replace file-content (uint8[]-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_contents_async.begin ("My info\n".data, null, false, FileCreateFlags.NONE, null, (obj, res) => {
try {
file.replace_contents_async.end (res, null);
} catch (Error e) {
print ("Error: %s\n", e.message);
}
loop.quit ();
});
loop.run ();
return 0;
}
valac --pkg gio-2.0 GLib.File.replace_contents_async.vala
this |
input File |
contents |
string of contents to replace the file with |
etag |
a new entity tag for the this, or null |
make_backup |
true if a backup should be created |
flags |
a set of FileCreateFlags |
cancellable |
optional Cancellable object, null to ignore |
callback |
a TaskReadyCallback to call when the request is satisfied |
length |
the length of |
user_data |
the data to pass to callback function |