Constructor
GObjectObjectnew
Declaration [src]
GObject*
g_object_new (
GType object_type,
const gchar* first_property_name,
...
)
Description [src]
Creates a new instance of a GObject
subtype and sets its properties.
Construction parameters (see G_PARAM_CONSTRUCT
, G_PARAM_CONSTRUCT_ONLY
)
which are not explicitly specified are set to their default values. Any
private data for the object is guaranteed to be initialized with zeros, as
per g_type_create_instance().
Note that in C, small integer types in variable argument lists are promoted
up to gint
or guint
as appropriate, and read back accordingly. gint
is
32 bits on every platform on which GLib is currently supported. This means that
you can use C expressions of type gint
with g_object_new()
and properties of
type gint
or guint
or smaller. Specifically, you can use integer literals
with these property types.
When using property types of gint64
or guint64
, you must ensure that the
value that you provide is 64 bit. This means that you should use a cast or
make use of the G_GINT64_CONSTANT
or G_GUINT64_CONSTANT
macros.
Similarly, gfloat
is promoted to gdouble
, so you must ensure that the value
you provide is a gdouble
, even for a property of type gfloat
.
Since GLib 2.72, all GObjects
are guaranteed to be aligned to at least the
alignment of the largest basic GLib type (typically this is guint64
or
gdouble
). If you need larger alignment for an element in a GObject
, you
should allocate it on the heap (aligned), or arrange for your GObject
to be
appropriately padded.
This constructor is not directly available to language bindings.
Parameters
object_type
-
Type:
GType
The type id of the
GObject
subtype to instantiate. first_property_name
-
Type:
const gchar*
The name of the first property.
The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. ...
-
Type:
The value of the first property, followed optionally by more name/value pairs, followed by
NULL
.
Return value
Type: GObject
A new instance of
object_type
.
The caller of the function takes ownership of the data, and is responsible for freeing it. |