4
\description{Failable object initialization interface}
5
\section{Methods and Functions}{
6
\code{\link{gInitableInit}(object, cancellable = NULL, .errwarn = TRUE)}\cr
7
\code{\link{gInitableNew}(object.type, cancellable, ..., .errwarn = TRUE)}\cr
9
\section{Hierarchy}{\preformatted{GInterface
11
\section{Implementations}{GInitable is implemented by
12
\code{\link{GSocket}}.}
13
\section{Detailed Description}{\code{\link{GInitable}} is implemented by objects that can fail during
14
initialization. If an object implements this interface the
15
\code{\link{gInitableInit}} function must be called as the first thing
16
after construction. If \code{\link{gInitableInit}} is not called, or if
17
it returns an error, all further operations on the object
18
should fail, generally with a \code{G_IO_ERROR_NOT_INITIALIZED} error.
20
Users of objects implementing this are not intended to use
21
the interface method directly, instead it will be used automatically
22
in various ways. For C applications you generally just call
23
\code{\link{gInitableNew}} directly, or indirectly via a \code{fooThingNew()} wrapper.
24
This will call \code{\link{gInitableInit}} under the cover, returning \code{NULL} and
25
setting a \code{\link{GError}} on failure.
27
For bindings in languages where the native constructor supports
28
exceptions the binding could check for objects implemention \code{\link{GInitable}}
29
during normal construction and automatically initialize them, throwing
30
an exception on failure.}
31
\section{Structures}{\describe{\item{\verb{GInitable}}{
32
Interface for initializable objects.
36
\references{\url{http://library.gnome.org/devel//gio/GInitable.html}}
37
\author{Derived by RGtkGen from GTK+ documentation}