Make the g_value_set_x_take_ownership() functions "official" part of the
authorMatthias Clasen <maclas@gmx.de>
Fri, 12 Sep 2003 20:11:38 +0000 (20:11 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 12 Sep 2003 20:11:38 +0000 (20:11 +0000)
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()).

* 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)

12 files changed:
docs/reference/ChangeLog
docs/reference/gobject/gobject-sections.txt
docs/reference/gobject/tmpl/param_value_types.sgml
gobject/ChangeLog
gobject/gboxed.c
gobject/gboxed.h
gobject/gobject.c
gobject/gobject.h
gobject/gparam.c
gobject/gparam.h
gobject/gvaluetypes.c
gobject/gvaluetypes.h

index 6cf23bb..c662f2f 100644 (file)
@@ -1,3 +1,10 @@
+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.
index 1fa6b91..9d6df0a 100644 (file)
@@ -525,6 +525,7 @@ gchararray
 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
@@ -537,6 +538,7 @@ G_TYPE_PARAM_PARAM
 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
@@ -550,6 +552,7 @@ GParamSpecBoxed
 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
@@ -572,6 +575,7 @@ G_TYPE_PARAM_OBJECT
 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
index 157a6c6..51a2f56 100644 (file)
@@ -1102,6 +1102,16 @@ when setting the #GValue.
 @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.
@@ -1109,9 +1119,7 @@ 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 ##### -->
@@ -1199,6 +1207,18 @@ Set the contents of a %G_TYPE_PARAM #GValue to @param.
 @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.
@@ -1206,6 +1226,7 @@ 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 ##### -->
@@ -1301,6 +1322,18 @@ when setting the #GValue.
 @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.
@@ -1308,6 +1341,7 @@ 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 ##### -->
@@ -1465,6 +1499,18 @@ Set the contents of a %G_TYPE_OBJECT derived #GValue to @v_object.
 @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.
@@ -1472,6 +1518,7 @@ 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 ##### -->
index a34f2ea..c4192d9 100644 (file)
@@ -1,3 +1,20 @@
+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,
@@ -72,6 +89,11 @@ Tue Aug 19 01:31:28 2003  Tim Janik  <timj@gtk.org>
 
        * 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
index 15c59af..f62647f 100644 (file)
@@ -504,6 +504,13 @@ void
 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)));
 
index 1645502..7e57c5c 100644 (file)
@@ -63,9 +63,12 @@ GType        g_boxed_type_register_static            (const gchar    *name,
 #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;
index 9b3cd76..d172e59 100644 (file)
@@ -1533,6 +1533,13 @@ void
 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)
index 65d26a5..6690793 100644 (file)
@@ -210,10 +210,12 @@ gulong        g_signal_connect_object           (gpointer        instance,
 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) \
index 0d4a1b3..da5123e 100644 (file)
@@ -983,6 +983,13 @@ void
 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));
index 3fbea4b..024a44a 100644 (file)
@@ -144,10 +144,12 @@ GParamSpec*     g_value_get_param               (const GValue  *value);
 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;
index e003190..4822786 100644 (file)
@@ -763,6 +763,13 @@ void
 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)
index 4649bc8..dfe9ce3 100644 (file)
@@ -97,9 +97,12 @@ GType                 g_pointer_type_register_static (const gchar *name);
 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 */