Re: [PATCH 01/15] core: Added some helper functions to handle GValues



I got the following warnings when compiling with the set of patches.

> grl-value-helper.h:34: Warning: Grl: Can't find matching type for constructor; symbol='grl_g_value_new'
> grl-value-helper.h:38: Warning: Grl: grl_g_value_hashtable_new: return value: Missing (transfer) annotation

If we don't want to provide introspection for those, we should add the
skip keyword, right?

On 02/12/11 19:36, gemont igalia com wrote:
> From: Guillaume Emont <gemont igalia com>
> 
> ---
>  src/Makefile.am        |    4 ++-
>  src/grl-value-helper.c |   66 ++++++++++++++++++++++++++++++++++++++++++++++++
>  src/grl-value-helper.h |   44 ++++++++++++++++++++++++++++++++
>  3 files changed, 113 insertions(+), 1 deletions(-)
>  create mode 100644 src/grl-value-helper.c
>  create mode 100644 src/grl-value-helper.h
> 
> diff --git a/src/Makefile.am b/src/Makefile.am
> index 0c727f8..103d3f8 100644
> --- a/src/Makefile.am
> +++ b/src/Makefile.am
> @@ -50,6 +50,7 @@ lib@GRL_NAME@_la_SOURCES =					\
>  	grl-multiple.c						\
>  	grl-log.c grl-log-priv.h				\
>  	grl-sync.c						\
> +	grl-value-helper.c					\
>  	grilo.c
>  
>  data_c_sources =		\
> @@ -79,7 +80,8 @@ lib@GRL_NAME@inc_HEADERS =	\
>  	grl-multiple.h		\
>  	grl-util.h		\
>  	grl-definitions.h	\
> -	grl-operation.h
> +	grl-operation.h		\
> +	grl-value-helper.h
>  
>  data_h_headers =		\
>  	data/grl-data.h		\
> diff --git a/src/grl-value-helper.c b/src/grl-value-helper.c
> new file mode 100644
> index 0000000..bed8e54
> --- /dev/null
> +++ b/src/grl-value-helper.c
> @@ -0,0 +1,66 @@
> +/*
> + * Copyright (C) 2011 Igalia S.L.
> + *
> + * Contact: Iago Toral Quiroga <itoral igalia com>
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public License
> + * as published by the Free Software Foundation; version 2.1 of
> + * the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + *
> + */
> +
> +/**
> + * SECTION:grl-value-helper
> + * @short_description: helpers to use GValue
> + *
> + * This module provides helper functions to use GValues easily. Inspired by
> + * libsoup's soup-value-utils:
> + * http://git.gnome.org/browse/libsoup/tree/libsoup/soup-value-utils.c
> + *
> + */
> +
> +#include <grl-value-helper.h>
> +
> +GValue *
> +grl_g_value_new (GType g_type)
> +{
> +  GValue *value;
> +
> +  value = g_slice_new0 (GValue);
> +  g_value_init (value, g_type);
> +
> +  return value;
> +}
> +
> +void
> +grl_g_value_free (GValue *value)
> +{
> +  g_value_unset (value);
> +  g_slice_free (GValue, value);
> +}
> +
> +GHashTable *
> +grl_g_value_hashtable_new (void)
> +{
> +  return g_hash_table_new_full (g_str_hash, g_str_equal, g_free, (GDestroyNotify)grl_g_value_free);
> +}
> +
> +GValue *
> +grl_g_value_dup (const GValue *value)
> +{
> +  GValue *new_value = grl_g_value_new (G_VALUE_TYPE (value));
> +  g_value_copy (value, new_value);
> +
> +  return new_value;
> +}
> diff --git a/src/grl-value-helper.h b/src/grl-value-helper.h
> new file mode 100644
> index 0000000..6079822
> --- /dev/null
> +++ b/src/grl-value-helper.h
> @@ -0,0 +1,44 @@
> +/*
> + * Copyright (C) 2011 Igalia S.L.
> + *
> + * Contact: Iago Toral Quiroga <itoral igalia com>
> + *
> + * This library is free software; you can redistribute it and/or
> + * modify it under the terms of the GNU Lesser General Public License
> + * as published by the Free Software Foundation; version 2.1 of
> + * the License, or (at your option) any later version.
> + *
> + * This library is distributed in the hope that it will be useful, but
> + * WITHOUT ANY WARRANTY; without even the implied warranty of
> + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
> + * Lesser General Public License for more details.
> + *
> + * You should have received a copy of the GNU Lesser General Public
> + * License along with this library; if not, write to the Free Software
> + * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
> + * 02110-1301 USA
> + *
> + */
> +
> +#if !defined (_GRILO_H_INSIDE_) && !defined (GRILO_COMPILATION)
> +#error "Only <grilo.h> can be included directly."
> +#endif
> +
> +#if !defined (_GRL_VALUE_HELPER_H_)
> +#define _GRL_VALUE_HELPER_H_
> +
> +#include <glib-object.h>
> +
> +G_BEGIN_DECLS
> +
> +GValue *grl_g_value_new (GType g_type);
> +
> +void grl_g_value_free (GValue *value);
> +
> +GHashTable *grl_g_value_hashtable_new (void);
> +
> +GValue *grl_g_value_dup (const GValue *value);
> +
> +G_END_DECLS
> +
> +#endif /* _GRL_VALUE_HELPER_H_ */


-- 
Simon Pena <spena igalia com>
Igalia - Free Software Engineering

Attachment: signature.asc
Description: OpenPGP digital signature



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]