send a very complex stuct by dbus with dbus-glib

Colin Walters walters at verbum.org
Tue Apr 8 12:31:48 PDT 2008


In that code it looks like you're appending a boolean first, whereas
it's expecting an unsigned int.

On Mon, Apr 7, 2008 at 5:27 AM, ivan fernandez calvo
<ivan.fernandez at sacnet.es> wrote:
>
> this is a reduced version of the problem that i want resolved put an
>  array of structs into a struct.
>
>  <method name="methodExample">
>   <arg type="(ua(bb))" name="stcElement" direction="in" />
>  </method>
>
>  GValueArray* IN_stcElement= g_value_array_new(2);
>  
>  // boolean value
>  GValue *pbData = g_try_new0(GValue,1);
>  g_value_init (pbData,G_TYPE_BOOLEAN);
>  g_value_set_boolean (pbData,TRUE);
>
>  //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);
>  g_ptr_array_add(pArrayValues,pStructItem);
>
>  //Gvalue container for a GPtrArray
>  GValue *pContainer = g_try_new0(GValue,1);
>  //G_TYPE_POINTER or G_TYPE_VALUE or G_TYPE_VALUE_ARRAY
>  g_value_init (pContainer,G_TYPE_POINTER);
>  g_value_set_boxed (pContainer,pArrayValues);
>
>  g_value_array_append (IN_stcElement,pbData);
>  g_value_array_append (IN_stcElement,pArrayValues);
>
>  i think that the problem is to select the correct GValue container I do
>  not know how is it.
>
>
>  On sáb, 2008-04-05 at 11:47 -0400, Colin Walters wrote:
>
>
> > On Tue, Apr 1, 2008 at 10:31 AM, ivan fernandez calvo
>  > <ivan.fernandez at sacnet.es> wrote:
>  > > I am trying to send a messge with this struct
>  > >                 <method name="cambioElemento">
>  > >                         <!--
>  > >                                          uint32 nData; id del data
>  > >                                          string sElemento; nombre del elemento
>  >
>  > Hi, do you think you might be able to reduce this to a smaller test case?
>
> --
>  Un Saludo
>  Ivan Fernandez Calvo
>
>
>
> _______________________________________________
>  dbus mailing list
>  dbus at lists.freedesktop.org
>  http://lists.freedesktop.org/mailman/listinfo/dbus
>


More information about the dbus mailing list