From 039c8d8bc0aa49ea3bd34fc190afc844d68a6e41 Mon Sep 17 00:00:00 2001 From: "Eduardo Lima (Etrunko)" Date: Thu, 4 May 2017 18:23:39 -0300 Subject: [PATCH] vm: Set vm state property using OvirtXmlElement struct It was required to change the default value of the enum property to OVIRT_VM_STATE_UNKNOWN, so that it will be set by ovirt_rest_xml_node_parse() function in case of error. Signed-off-by: Eduardo Lima (Etrunko) --- govirt/ovirt-vm-xml.c | 30 +----------------------------- govirt/ovirt-vm.c | 5 ++++- 2 files changed, 5 insertions(+), 30 deletions(-) diff --git a/govirt/ovirt-vm-xml.c b/govirt/ovirt-vm-xml.c index 9990262..25f50f3 100644 --- a/govirt/ovirt-vm-xml.c +++ b/govirt/ovirt-vm-xml.c @@ -138,35 +138,7 @@ static gboolean vm_set_display_from_xml(OvirtVm *vm, return TRUE; } -static gboolean vm_set_state_from_xml(OvirtVm *vm, RestXmlNode *node) -{ - RestXmlNode *state_node; - - state_node = rest_xml_node_find(node, "status"); - if (state_node == NULL) { - g_debug("Could not find 'status' node"); - return FALSE; - } - state_node = rest_xml_node_find(state_node, "state"); - if (state_node != NULL) { - int state; - - g_return_val_if_fail(state_node->content != NULL, FALSE); - state = ovirt_utils_genum_get_value(OVIRT_TYPE_VM_STATE, - state_node->content, - OVIRT_VM_STATE_UNKNOWN); - g_object_set(G_OBJECT(vm), "state", state, NULL); - - return TRUE; - } - - return FALSE; -} - G_GNUC_INTERNAL gboolean ovirt_vm_refresh_from_xml(OvirtVm *vm, RestXmlNode *node) { - vm_set_state_from_xml(vm, node); - vm_set_display_from_xml(vm, node); - - return TRUE; + return vm_set_display_from_xml(vm, node); } diff --git a/govirt/ovirt-vm.c b/govirt/ovirt-vm.c index 36ffd35..f30022d 100644 --- a/govirt/ovirt-vm.c +++ b/govirt/ovirt-vm.c @@ -199,6 +199,9 @@ static gboolean ovirt_vm_init_from_xml(OvirtResource *resource, .xml_path = "cluster", .xml_attr = "id", }, + { .prop_name = "state", + .xml_path = "status/state", + }, { NULL, }, }; @@ -233,7 +236,7 @@ static void ovirt_vm_class_init(OvirtVmClass *klass) "State", "Virtual Machine State", OVIRT_TYPE_VM_STATE, - OVIRT_VM_STATE_DOWN, + OVIRT_VM_STATE_UNKNOWN, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); g_object_class_install_property(object_class, -- 2.14.4