¿Hay alguna forma de agregar datos al diccionario GVARIANT existente?
Pregunta
Yo uso GSettings para almacenar mi configuración de solicitud.El formato de estos es "A {Q (Bsysbyqqqq)}", por lo que es el diccionario.
A veces necesito agregar nuevo registro a ese diccionario.Puedo recuperarlo de gsettings como gvariant.¿Hay alguna forma de simplemente agregar un registro?
He creado nuevo GvarianTBuilder para crear esa nueva entrada y funciona bien, pero el resultado de su operación es solo un registro.Para agregar todos los restantes necesito iterar en todas las entradas de diccionarios existentes y agregarlas al constructor.¿Hay alguna forma más simple y más eficiente de hacer eso?
Solución
probablemente demasiado tarde, pero solo para el registro, documentación de glib ( http://developer.gnome.org/glib/2.32/glib-gvarian.html ) dice:
gvariant las instancias siempre tienen un tipo y un valor (que se da en tiempo de construcción).El tipo y valor de una instancia gvariant puede Nunca cambie nada de lo que por el gvariant se destruye.
Por lo tanto, no es posible cambiar (agregue algún registro a su diccionario) gvariant .La única forma de hacer lo que quieres es exactamente lo que estás haciendo ahora.