+2003-09-12 Matthias Clasen <maclas@gmx.de>
+
+ * gobject/gobject-sections.txt: Add new g_value_take_x() functions.
+
+ * gobject/tmpl/param_value_types.sgml: Document new g_value_take_x()
+ functions. (#100948)
+
2003-08-05 Matthias Clasen <maclas@gmx.de>
* glib/tmpl/string_utils.sgml: Add note about in-place editing to g_strdelimit() doc.
g_param_spec_string
g_value_set_string
g_value_set_static_string
+g_value_take_string
g_value_set_string_take_ownership
g_value_get_string
g_value_dup_string
GParamSpecParam
g_param_spec_param
g_value_set_param
+g_value_take_param
g_value_set_param_take_ownership
g_value_get_param
g_value_dup_param
g_param_spec_boxed
g_value_set_boxed
g_value_set_static_boxed
+g_value_take_boxed
g_value_set_boxed_take_ownership
g_value_get_boxed
g_value_dup_boxed
GParamSpecObject
g_param_spec_object
g_value_set_object
+g_value_take_object
g_value_set_object_take_ownership
g_value_get_object
g_value_dup_object
@v_string: static string to be set
+<!-- ##### FUNCTION g_value_take_string ##### -->
+<para>
+Sets the contents of a %G_TYPE_STRING #GValue to @v_string.
+</para>
+
+@value: a valid #GValue of type %G_TYPE_STRING
+@v_string: duplicated unowned string to be set
+@Since: 2.4
+
+
<!-- ##### FUNCTION g_value_set_string_take_ownership ##### -->
<para>
This is an internal function introduced mainly for C marshallers.
@value: a valid #GValue of type %G_TYPE_STRING
@v_string: duplicated unowned string to be set
-<!-- # Unused Parameters # -->
-@value: a valid #GValue
-@v_string: string to be set
+@Deprecated: Use g_value_take_string() instead.
<!-- ##### FUNCTION g_value_get_string ##### -->
@param: the #GParamSpec to be set
+<!-- ##### FUNCTION g_value_take_param ##### -->
+<para>
+Sets the contents of a %G_TYPE_PARAM #GValue to @param and
+takes over the ownership of the callers reference to @param;
+the caller doesn't have to unref it any more.
+</para>
+
+@value: a valid #GValue of type %G_TYPE_PARAM
+@param: the #GParamSpec to be set
+@Since: 2.4
+
+
<!-- ##### FUNCTION g_value_set_param_take_ownership ##### -->
<para>
This is an internal function introduced mainly for C marshallers.
@value: a valid #GValue of type %G_TYPE_PARAM
@param: the #GParamSpec to be set
+@Deprecated: Use g_value_take_param() instead.
<!-- ##### FUNCTION g_value_get_param ##### -->
@v_boxed: static boxed value to be set
+<!-- ##### FUNCTION g_value_take_boxed ##### -->
+<para>
+Sets the contents of a %G_TYPE_BOXED derived #GValue to @v_boxed and
+takes over the ownership of the callers reference to @v_boxed;
+the caller doesn't have to unref it any more.
+</para>
+
+@value: a valid #GValue of %G_TYPE_BOXED derived type
+@v_boxed: duplicated unowned boxed value to be set
+@Since: 2.4
+
+
<!-- ##### FUNCTION g_value_set_boxed_take_ownership ##### -->
<para>
This is an internal function introduced mainly for C marshallers.
@value: a valid #GValue of %G_TYPE_BOXED derived type
@v_boxed: duplicated unowned boxed value to be set
+@Deprecated: Use g_value_take_boxed() instead.
<!-- ##### FUNCTION g_value_get_boxed ##### -->
@v_object: object value to be set
+<!-- ##### FUNCTION g_value_take_object ##### -->
+<para>
+Sets the contents of a %G_TYPE_OBJECT derived #GValue to @v_object
+and takes over the ownership of the callers reference to @v_object;
+the caller doesn't have to unref it any more.
+</para>
+
+@value: a valid #GValue of %G_TYPE_OBJECT derived type
+@v_object: object value to be set
+@Since: 2.4
+
+
<!-- ##### FUNCTION g_value_set_object_take_ownership ##### -->
<para>
This is an internal function introduced mainly for C marshallers.
@value: a valid #GValue of %G_TYPE_OBJECT derived type
@v_object: object value to be set
+@Deprecated: Use g_value_take_object() instead.
<!-- ##### FUNCTION g_value_get_object ##### -->
+2003-09-12 Matthias Clasen <maclas@gmx.de>
+
+ Make the g_value_set_x_take_ownership() functions "official"
+ part of the API (#100948):
+
+ * gvaluetypes.[hc]: Add g_value_take_string() (synonym to the
+ now deprecated g_value_set_string_take_ownership()).
+
+ * gparam.[hc]: Add g_value_take_param() (synonym to the
+ now deprecated g_value_set_param_take_ownership()).
+
+ * gobject.[hc]: Add g_value_take_object() (synonym to the
+ now deprecated g_value_set_object_take_ownership()).
+
+ * gboxed.[hc]: Add g_value_take_boxed() (synonym to the
+ now deprecated g_value_set_boxed_take_ownership()).
+
Tue Sep 2 19:37:21 2003 Tim Janik <timj@gtk.org>
* gtype.[hc]: added support for a "default vtable" per interface,
* gsignal.c: added optimizations to skip NOP signal emissions.
+2003-08-08 Matthias Clasen <maclas@gmx.de>
+
+ * gobject.c (object_set_property): Improve the wording of the warning for invalid
+ values. (#117246, Mariano Suarez-Alvarez)
+
Wed Aug 6 09:57:14 2003 Owen Taylor <otaylor@redhat.com>
* testgobject.c (test_signal_accumulator): Add check
g_value_set_boxed_take_ownership (GValue *value,
gconstpointer boxed)
{
+ g_value_take_boxed (value, boxed);
+}
+
+void
+g_value_take_boxed (GValue *value,
+ gconstpointer boxed)
+{
g_return_if_fail (G_VALUE_HOLDS_BOXED (value));
g_return_if_fail (G_TYPE_IS_VALUE (G_VALUE_TYPE (value)));
#define G_TYPE_GSTRING (g_gstring_get_type ())
-/* --- internal (marshaller specific) --- */
+void g_value_take_boxed (GValue *value,
+ gconstpointer v_boxed);
+#ifndef G_DISABLE_DEPRECATED
void g_value_set_boxed_take_ownership (GValue *value,
gconstpointer v_boxed);
+#endif
GType g_closure_get_type (void) G_GNUC_CONST;
GType g_value_get_type (void) G_GNUC_CONST;
GType g_value_array_get_type (void) G_GNUC_CONST;
g_value_set_object_take_ownership (GValue *value,
gpointer v_object)
{
+ g_value_take_object (value, v_object);
+}
+
+void
+g_value_take_object (GValue *value,
+ gpointer v_object)
+{
g_return_if_fail (G_VALUE_HOLDS_OBJECT (value));
if (value->data[0].v_pointer)
void g_object_run_dispose (GObject *object);
-/* --- marshaller specific --- */
+void g_value_take_object (GValue *value,
+ gpointer v_object);
+#ifndef G_DISABLE_DEPRECATED
void g_value_set_object_take_ownership (GValue *value,
gpointer v_object);
-
+#endif
/* --- implementation macros --- */
#define G_OBJECT_WARN_INVALID_PSPEC(object, pname, property_id, pspec) \
g_value_set_param_take_ownership (GValue *value,
GParamSpec *param)
{
+ g_value_take_param (value, param);
+}
+
+void
+g_value_take_param (GValue *value,
+ GParamSpec *param)
+{
g_return_if_fail (G_VALUE_HOLDS_PARAM (value));
if (param)
g_return_if_fail (G_IS_PARAM_SPEC (param));
GParamSpec* g_value_dup_param (const GValue *value);
-/* --- marshaller specific --- */
+void g_value_take_param (GValue *value,
+ GParamSpec *param);
+#ifndef G_DISABLE_DEPRECATED
void g_value_set_param_take_ownership (GValue *value,
GParamSpec *param);
-
+#endif
/* --- convenience functions --- */
typedef struct _GParamSpecTypeInfo GParamSpecTypeInfo;
g_value_set_string_take_ownership (GValue *value,
gchar *v_string)
{
+ g_value_take_string (value, v_string);
+}
+
+void
+g_value_take_string (GValue *value,
+ gchar *v_string)
+{
g_return_if_fail (G_VALUE_HOLDS_STRING (value));
if (value->data[1].v_uint & G_VALUE_NOCOPY_CONTENTS)
gchar* g_strdup_value_contents (const GValue *value);
-/* --- marshaller specific --- */
+void g_value_take_string (GValue *value,
+ gchar *v_string);
+#ifndef G_DISABLE_DEPRECATED
void g_value_set_string_take_ownership (GValue *value,
gchar *v_string);
+#endif
/* humpf, need a C representable type name for G_TYPE_STRING */