
On Wed, May 1, 2013 at 10:59 PM, Christophe Fergeau <cfergeau@redhat.com> wrote:
--- libvirt-gconfig/libvirt-gconfig-domain-snapshot.c | 227 +++++++++++++++++++++- libvirt-gconfig/libvirt-gconfig-domain-snapshot.h | 38 +++- libvirt-gconfig/libvirt-gconfig.sym | 15 ++ 3 files changed, 278 insertions(+), 2 deletions(-)
diff --git a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c index 3d967f1..a3cec0c 100644 --- a/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c +++ b/libvirt-gconfig/libvirt-gconfig-domain-snapshot.c @@ -2,7 +2,7 @@ * libvirt-gconfig-domain-snapshot.c: libvirt domain snapshot configuration * * Copyright (C) 2008 Daniel P. Berrange - * Copyright (C) 2010-2011 Red Hat, Inc. + * Copyright (C) 2010-2013 Red Hat, Inc. * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,11 +19,13 @@ * <http://www.gnu.org/licenses/>. * * Author: Daniel P. Berrange <berrange@redhat.com> + * Christophe Fergeau <cfergeau@redhat.com> */
#include <config.h>
#include "libvirt-gconfig/libvirt-gconfig.h" +#include "libvirt-gconfig/libvirt-gconfig-private.h"
#define GVIR_CONFIG_DOMAIN_SNAPSHOT_GET_PRIVATE(obj) \ (G_TYPE_INSTANCE_GET_PRIVATE((obj), GVIR_CONFIG_TYPE_DOMAIN_SNAPSHOT, GVirConfigDomainSnapshotPrivate)) @@ -71,3 +73,226 @@ GVirConfigDomainSnapshot *gvir_config_domain_snapshot_new_from_xml(const gchar * xml, error); return GVIR_CONFIG_DOMAIN_SNAPSHOT(object); } + + +const char *gvir_config_domain_snapshot_get_name(GVirConfigDomainSnapshot *snapshot) +{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot), NULL); + + return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(snapshot), + "name"); +} + + +void gvir_config_domain_snapshot_set_name(GVirConfigDomainSnapshot *snapshot, + const char *name) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot)); + + gvir_config_object_set_node_content(GVIR_CONFIG_OBJECT(snapshot), + "name", name); +} + + +const char *gvir_config_domain_snapshot_get_description(GVirConfigDomainSnapshot *snapshot) +{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot), NULL); + + return gvir_config_object_get_node_content(GVIR_CONFIG_OBJECT(snapshot), + "description"); +} + + +void gvir_config_domain_snapshot_set_description(GVirConfigDomainSnapshot *snapshot, + const char *description) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot)); + + gvir_config_object_set_node_content(GVIR_CONFIG_OBJECT(snapshot), + "description", description); +} + +/* +const char *gvir_config_domain_snapshot_get_memory(GVirConfigDomainSnapshot *snapshot)
Why commented-out? AFAICT from the docs, this deserves a separate object.
+{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot), NULL); + + return NULL; +} + + +void gvir_config_domain_snapshot_set_memory(GVirConfigDomainSnapshot *snapshot, + const char *memory) +{ + g_return_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot)); +} +*/ + + +/* FIXME: GDateTime is only available since glib 2.26, libvirt-glib depends + * on glib 2.22, is the dep ok? + */
time_t seems pretty appropriate here.
+GDateTime *gvir_config_domain_snapshot_get_creation_time(GVirConfigDomainSnapshot *snapshot) +{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot), NULL); + guint64 creation_time; + + creation_time = gvir_config_object_get_node_content_uint64(GVIR_CONFIG_OBJECT(snapshot), + "creationTime"); + return g_date_time_new_from_unix_utc(creation_time); +} + + +GVirConfigDomainSnapshotState gvir_config_domain_snapshot_get_state(GVirConfigDomainSnapshot *snapshot) +{ + g_return_val_if_fail(GVIR_CONFIG_IS_DOMAIN_SNAPSHOT(snapshot), + GVIR_CONFIG_DOMAIN_SNAPSHOT_STATE_NOSTATE); + + return gvir_config_object_get_node_content_genum(GVIR_CONFIG_OBJECT(snapshot), + "state", + GVIR_CONFIG_TYPE_DOMAIN_SNAPSHOT_STATE, + GVIR_CONFIG_DOMAIN_SNAPSHOT_STATE_NOSTATE); +} + + +const char *gvir_config_domain_snapshot_get_parent(GVirConfigDomainSnapshot *snapshot) +{
Shouldn't this be returning a GVirConfigDomainSnapshot instance? -- Regards, Zeeshan Ali (Khattak) FSF member#5124