This is the asynchronous version of gio.initable.Initable; it behaves the same
in all ways except that initialization is asynchronous. For more details
see the descriptions on gio.initable.Initable.
Users of objects implementing this are not intended to use the interface
method directly; instead it will be used automatically in various ways.
For C applications you generally just call gio.async_initable.AsyncInitable.newAsync
directly, or indirectly via a foo_thing_new_async() wrapper. This will call
gio.async_initable.AsyncInitable.initAsync under the covers, calling back with NULL
and a set glib.error.ErrorG on failure.
A typical implementation might look something like this:
gio.async_initable.AsyncInitable is an interface for asynchronously initializable objects.
This is the asynchronous version of gio.initable.Initable; it behaves the same in all ways except that initialization is asynchronous. For more details see the descriptions on gio.initable.Initable.
A class may implement both the gio.initable.Initable and gio.async_initable.AsyncInitable interfaces.
Users of objects implementing this are not intended to use the interface method directly; instead it will be used automatically in various ways. For C applications you generally just call gio.async_initable.AsyncInitable.newAsync directly, or indirectly via a foo_thing_new_async() wrapper. This will call gio.async_initable.AsyncInitable.initAsync under the covers, calling back with NULL and a set glib.error.ErrorG on failure.
A typical implementation might look something like this: