From 2d35e75809bd3c18dccc07b95eb57b1da0b30697 Mon Sep 17 00:00:00 2001 From: Cole Robinson Date: Thu, 2 Sep 2010 19:08:00 -0400 Subject: [PATCH] domain: Use virtinst.Guest for XML dumping. Very basic wire up for the time being. --- src/virtManager/domain.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/src/virtManager/domain.py b/src/virtManager/domain.py index 318352af2..e32382647 100644 --- a/src/virtManager/domain.py +++ b/src/virtManager/domain.py @@ -1209,6 +1209,7 @@ class vmmDomain(vmmDomainBase): self.toggle_sample_disk_io() self.reboot_listener = None + self._guest = None # Determine available XML flags (older libvirt versions will error # out if passed SECURE_XML, INACTIVE_XML, etc) @@ -1219,6 +1220,7 @@ class vmmDomain(vmmDomainBase): # Hook up our own status listeners self._update_status() self.connect("status-changed", self._update_start_vcpus) + self.connect("config-changed", self._reparse_xml) ########################## # Internal virDomain API # @@ -1442,6 +1444,23 @@ class vmmDomain(vmmDomainBase): # XML/Config Altering API # ########################### + def _get_domain_xml(self): + return vmmLibvirtObject.get_xml(self) + + def get_xml(self): + # Do this to make sure we have latest XML + self._get_domain_xml() + return self._get_guest().get_xml_config() + + def _get_guest(self): + if not self._guest: + self._reparse_xml() + return self._guest + + def _reparse_xml(self, ignore=None): + self._guest = virtinst.Guest(connection=self.connection.vmm, + parsexml=self._get_domain_xml()) + def _check_device_is_present(self, dev_type, dev_id_info): """ Return True if device is present in the inactive XML, False otherwise.