send a very complex stuct by dbus with dbus-glib

ivan fernandez calvo ivan.fernandez at
Wed Apr 9 01:20:37 PDT 2008

Is a transcription problem the correct type is G_TYPE_UINT , The
objetive of the the code was only show What i want to do and in the
process i make a mistake.

 <method name="methodExample">
  <arg type="(ua(bb))" name="stcElement" direction="in" />

 GValueArray* IN_stcElement= g_value_array_new(2);
 // boolean value
 GValue *pbData = g_try_new0(GValue,1);
 g_value_init (pbData,G_TYPE_UINT);
 g_value_set_uint (pbData,1);

 //array of struct
 GPtrArray *pArrayValues = g_ptr_array_new();
 GValueArray *pStructItem= g_value_array_new(2);
 GValue *pbValue1 = g_try_new0(GValue,1);
 GValue *pbValue2 = g_try_new0(GValue,1);
 g_value_init (pbValue1,G_TYPE_BOOLEAN);
 g_value_init (pbValue2,G_TYPE_BOOLEAN);
 g_value_set_boolean (pbValue1,TRUE);
 g_value_set_boolean (pbValue2,TRUE);
 g_value_array_append (pStructItem,pbValue1);
 g_value_array_append (pStructItem,pbValue2);

 //Gvalue container for a GPtrArray
 GValue *pContainer = g_try_new0(GValue,1);
 g_value_init (pContainer,G_TYPE_POINTER);
 g_value_set_boxed (pContainer,pArrayValues);

On mar, 2008-04-08 at 15:31 -0400, Colin Walters wrote:
> In that code it looks like you're appending a boolean first, whereas
> it's expecting an unsigned int.

Un Saludo
Ivan Fernandez Calvo

More information about the dbus mailing list