gInitableInit(object, cancellable = NULL, .errwarn = TRUE)
gInitableNew(object.type, cancellable, ..., .errwarn = TRUE)
GInterface +----GInitable
GSocket
.GInitable
is implemented by objects that can fail during
initialization. If an object implements this interface the
gInitableInit
function must be called as the first thing
after construction. If gInitableInit
is not called, or if
it returns an error, all further operations on the object
should fail, generally with a G_IO_ERROR_NOT_INITIALIZED
error. 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
gInitableNew
directly, or indirectly via a fooThingNew()
wrapper.
This will call gInitableInit
under the cover, returning NULL
and
setting a GError
on failure. For bindings in languages where the native constructor supports
exceptions the binding could check for objects implemention GInitable
during normal construction and automatically initialize them, throwing
an exception on failure.