Struct

GObjectParamSpecTypeInfo

Description [src]

struct GParamSpecTypeInfo {
  guint16 instance_size;
  guint16 n_preallocs;
  void (* instance_init) (
    GParamSpec* pspec
  );
  GType value_type;
  void (* finalize) (
    GParamSpec* pspec
  );
  void (* value_set_default) (
    GParamSpec* pspec,
    GValue* value
  );
  gboolean (* value_validate) (
    GParamSpec* pspec,
    GValue* value
  );
  gint (* values_cmp) (
    GParamSpec* pspec,
    const GValue* value1,
    const GValue* value2
  );
}

This structure is used to provide the type system with the information required to initialize and destruct (finalize) a parameter’s class and instances thereof.

The initialized structure is passed to the g_param_type_register_static() The type system will perform a deep copy of this structure, so its memory does not need to be persistent across invocation of g_param_type_register_static().

Structure members
instance_size

Size of the instance (object) structure.

n_preallocs

Prior to GLib 2.10, it specified the number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Since GLib 2.10, it is ignored, since instances are allocated with the [slice allocator][glib-Memory-Slices] now.

instance_init

Location of the instance initialization function (optional).

value_type

The GType of values conforming to this GParamSpec.

finalize

The instance finalization function (optional).

value_set_default

Resets a value to the default value for pspec (recommended, the default is g_value_reset()), see g_param_value_set_default().

value_validate

Ensures that the contents of value comply with the specifications set out by pspec (optional), see g_param_value_validate().

values_cmp

Compares value1 with value2 according to pspec (recommended, the default is memcmp()), see g_param_values_cmp().