On Mon, Nov 21, 2011 at 07:04:04PM +0100, Christophe Fergeau wrote: > -- > v2: use g_return_if_fail to test function args for sanity > --- > libvirt-gconfig/libvirt-gconfig-clock.c | 38 +++++++++++++++++++++++++++++++ > libvirt-gconfig/libvirt-gconfig-clock.h | 5 ++++ > libvirt-gconfig/libvirt-gconfig.sym | 2 + > 3 files changed, 45 insertions(+), 0 deletions(-) > > diff --git a/libvirt-gconfig/libvirt-gconfig-clock.c b/libvirt-gconfig/libvirt-gconfig-clock.c > index 1f28efb..25f6159 100644 > --- a/libvirt-gconfig/libvirt-gconfig-clock.c > +++ b/libvirt-gconfig/libvirt-gconfig-clock.c > @@ -27,6 +27,7 @@ > #include <libxml/tree.h> > > #include "libvirt-gconfig/libvirt-gconfig.h" > +#include "libvirt-gconfig/libvirt-gconfig-object-private.h" > > extern gboolean debugFlag; > > @@ -79,3 +80,40 @@ GVirConfigClock *gvir_config_clock_new_from_xml(const gchar *xml, > "clock", NULL, xml, error); > return GVIR_CONFIG_CLOCK(object); > } > + > +void gvir_config_clock_set_timezone(GVirConfigClock *klock, > + const char *tz) > +{ > + xmlNodePtr node; > + xmlChar *encoded_tz; > + > + g_return_if_fail(GVIR_IS_CONFIG_CLOCK(klock)); > + g_return_if_fail(tz != NULL); > + > + node = gvir_config_object_get_xml_node(GVIR_CONFIG_OBJECT(klock)); > + if (node == NULL) > + return; > + > + xmlNewProp(node, (xmlChar*)"offset", (xmlChar*)"timezone"); > + encoded_tz = xmlEncodeEntitiesReentrant(node->doc, (xmlChar*)tz); > + xmlNewProp(node, (xmlChar*)"timezone", encoded_tz); > + xmlFree(encoded_tz); > +} > + > +void gvir_config_clock_set_variable_offset(GVirConfigClock *klock, > + gint seconds) > +{ > + xmlNodePtr node; > + char *offset_str; > + > + g_return_if_fail(GVIR_IS_CONFIG_CLOCK(klock)); > + > + node = gvir_config_object_replace_child(GVIR_CONFIG_OBJECT(klock), "clock"); > + if (node == NULL) > + return; > + > + xmlNewProp(node, (xmlChar*)"offset", (xmlChar*)"variable"); > + offset_str = g_strdup_printf("%d", seconds); > + xmlNewProp(node, (xmlChar*)"timezone", (xmlChar*)offset_str); > + g_free(offset_str); Copy+paste buglet - s/timezone/adjustment/ ACK with that fix commit. Daniel -- |: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :| |: http://libvirt.org -o- http://virt-manager.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :| -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list