Function Macro

GObjectDEFINE_BOXED_TYPE_WITH_CODE

Declaration [src]

#define G_DEFINE_BOXED_TYPE_WITH_CODE (
  TypeName,
  type_name,
  copy_func,
  free_func,
  _C_
)

Description [src]

A convenience macro for boxed type implementations.

Similar to G_DEFINE_BOXED_TYPE(), but allows to insert custom code into the type_name_get_type() function, e.g. to register value transformations with g_value_register_transform_func(), for instance:

G_DEFINE_BOXED_TYPE_WITH_CODE (GdkRectangle, gdk_rectangle,
                               gdk_rectangle_copy,
                               gdk_rectangle_free,
                               register_rectangle_transform_funcs (g_define_type_id))

Similarly to the G_DEFINE_TYPE family of macros, the GType of the newly defined boxed type is exposed in the g_define_type_id variable.

Available since:2.26

Parameters

TypeName -
 

The name of the new type, in Camel case.

type_name -
 

The name of the new type, in lowercase, with words separated by _

copy_func -
 

The GBoxedCopyFunc for the new type.

free_func -
 

The GBoxedFreeFunc for the new type.

_C_ -
 

Custom code that gets inserted in the *_get_type() function.