Description
Failable object initialization interfaceMethods and Functions
gInitableInit(object, cancellable = NULL, .errwarn = TRUE)
gInitableNew(object.type, cancellable, ..., .errwarn = TRUE)
Hierarchy
GInterface
+----GInitableImplementations
GInitable is implemented by
GSocket
.Detailed Description
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.References
http://library.gnome.org/devel//gio/GInitable.html