diff --git a/docs/reference/gobject/gobject-sections.txt b/docs/reference/gobject/gobject-sections.txt index abcf24859..5d142dd44 100644 --- a/docs/reference/gobject/gobject-sections.txt +++ b/docs/reference/gobject/gobject-sections.txt @@ -373,6 +373,7 @@ G_TYPE_KEY_FILE G_TYPE_MAIN_CONTEXT G_TYPE_MAIN_LOOP G_TYPE_SOURCE +G_TYPE_POLLFD GStrv @@ -398,6 +399,7 @@ g_gtype_get_type g_main_context_get_type g_main_loop_get_type g_source_get_type +g_pollfd_get_type g_bytes_get_type g_key_file_get_type diff --git a/gobject/gboxed.c b/gobject/gboxed.c index b5c60290e..c45e1cdba 100644 --- a/gobject/gboxed.c +++ b/gobject/gboxed.c @@ -77,6 +77,15 @@ value_free (GValue *value) g_free (value); } +static GPollFD * +pollfd_copy (GPollFD *src) +{ + GPollFD *dest = g_new0 (GPollFD, 1); + /* just a couple of integers */ + memcpy (dest, src, sizeof (GPollFD)); + return dest; +} + void _g_boxed_type_init (void) { @@ -150,6 +159,7 @@ G_DEFINE_BOXED_TYPE (GKeyFile, g_key_file, g_key_file_ref, g_key_file_unref) G_DEFINE_BOXED_TYPE (GMainLoop, g_main_loop, g_main_loop_ref, g_main_loop_unref) G_DEFINE_BOXED_TYPE (GMainContext, g_main_context, g_main_context_ref, g_main_context_unref) G_DEFINE_BOXED_TYPE (GSource, g_source, g_source_ref, g_source_unref) +G_DEFINE_BOXED_TYPE (GPollFD, g_pollfd, pollfd_copy, g_free) /* This one can't use G_DEFINE_BOXED_TYPE (GStrv, g_strv, g_strdupv, g_strfreev) */ GType diff --git a/gobject/glib-types.h b/gobject/glib-types.h index 50bc03399..27a515f43 100644 --- a/gobject/glib-types.h +++ b/gobject/glib-types.h @@ -227,6 +227,15 @@ typedef gsize GType; */ #define G_TYPE_SOURCE (g_source_get_type ()) +/** + * G_TYPE_POLLFD: + * + * The #GType for a boxed type holding a #GPollFD. + * + * Since: 2.36 + */ +#define G_TYPE_POLLFD (g_pollfd_get_type ()) + /** * G_TYPE_KEY_FILE: * @@ -261,6 +270,8 @@ GLIB_AVAILABLE_IN_2_30 GType g_main_context_get_type (void) G_GNUC_CONST; GLIB_AVAILABLE_IN_2_30 GType g_source_get_type (void) G_GNUC_CONST; +GLIB_AVAILABLE_IN_2_36 +GType g_pollfd_get_type (void) G_GNUC_CONST; GLIB_DEPRECATED_FOR('G_TYPE_VARIANT') GType g_variant_get_gtype (void) G_GNUC_CONST; diff --git a/gobject/gobject.symbols b/gobject/gobject.symbols index b5fa09efa..1a052fd2d 100644 --- a/gobject/gobject.symbols +++ b/gobject/gobject.symbols @@ -33,6 +33,7 @@ g_key_file_get_type g_main_loop_get_type g_main_context_get_type g_source_get_type +g_pollfd_get_type g_closure_get_type g_value_get_type g_value_array_get_type