Function

GLibErrordomain_register_static

since: 2.68

Declaration

GQuark
g_error_domain_register_static (
  const char* error_type_name,
  gsize error_type_private_size,
  GErrorInitFunc error_type_init,
  GErrorCopyFunc error_type_copy,
  GErrorClearFunc error_type_clear
)

Description

This function registers an extended GError domain.

error_type_name should not be freed. error_type_private_size must be greater than 0.

error_type_init receives an initialized GError and should then initialize the private data.

error_type_copy is a function that receives both original and a copy GError and should copy the fields of the private error data. The standard GError fields are already handled.

error_type_clear receives the pointer to the error, and it should free the fields of the private error data. It should not free the struct itself though.

Normally, it is better to use G_DEFINE_EXTENDED_ERROR(), as it already takes care of passing valid information to this function.

Available since: 2.68

Parameters

error_type_name

Type: const char*

Static string to create a GQuark from.

The data is owned by the caller of the function.
The value is a NUL terminated UTF-8 string.
error_type_private_size

Type: gsize

Size of the private error data in bytes.

error_type_init

Type: GErrorInitFunc

Function initializing fields of the private error data.

error_type_copy

Type: GErrorCopyFunc

Function copying fields of the private error data.

error_type_clear

Type: GErrorClearFunc

Function freeing fields of the private error data.

Return value

Type: GQuark

GQuark representing the error domain.