[libvirt] [PATCH v8 2/4] Add vbox_snapshot_conf struct

Daniel P. Berrange berrange at redhat.com
Tue Jun 10 14:20:07 UTC 2014


On Mon, May 19, 2014 at 02:47:31PM +0200, Yohan BELLEGUIC wrote:
> This structure contains the data to be saved in the VirtualBox XML file
> and can be manipulated with severals exposed functions.
> The structure is created by vboxSnapshotLoadVboxFile taking the
> machine XML file.
> It also can rewrite the XML by using vboxSnapshotSaveVboxFile.
> ---
>  po/POTFILES.in                                     |    1 +
>  src/Makefile.am                                    |    1 +
>  src/vbox/vbox_snapshot_conf.c                      | 1490 ++++++++++++++++++++
>  src/vbox/vbox_snapshot_conf.h                      |  105 ++
>  tests/Makefile.am                                  |   15 +
>  tests/vboxsnapshotxmldata/2disks-1snap.vbox        |  322 +++++
>  tests/vboxsnapshotxmldata/2disks-2snap.vbox        |  478 +++++++
>  .../vboxsnapshotxmldata/2disks-3snap-brother.vbox  |  786 +++++++++++
>  tests/vboxsnapshotxmldata/2disks-3snap.vbox        |  636 +++++++++
>  tests/vboxsnapshotxmldata/2disks-nosnap.vbox       |  168 +++
>  tests/vboxsnapshotxmltest.c                        |  161 +++
>  11 files changed, 4163 insertions(+)
>  create mode 100644 src/vbox/vbox_snapshot_conf.c
>  create mode 100644 src/vbox/vbox_snapshot_conf.h
>  create mode 100644 tests/vboxsnapshotxmldata/2disks-1snap.vbox
>  create mode 100644 tests/vboxsnapshotxmldata/2disks-2snap.vbox
>  create mode 100644 tests/vboxsnapshotxmldata/2disks-3snap-brother.vbox
>  create mode 100644 tests/vboxsnapshotxmldata/2disks-3snap.vbox
>  create mode 100644 tests/vboxsnapshotxmldata/2disks-nosnap.vbox
>  create mode 100644 tests/vboxsnapshotxmltest.c

ACK

I made a few changes to this - primarily to add 'const' to all
the 'char *' strings, tweak line breaks, and remove some bogus
use of virStringFreeList on non-NULL terminated arrays

So the change I'm pushing includes this:

diff --git a/src/vbox/vbox_snapshot_conf.c b/src/vbox/vbox_snapshot_conf.c
index 9fee760..4909665 100644
--- a/src/vbox/vbox_snapshot_conf.c
+++ b/src/vbox/vbox_snapshot_conf.c
@@ -30,9 +30,10 @@
 #define VIR_FROM_THIS                   VIR_FROM_VBOX
 VIR_LOG_INIT("vbox.vbox_snapshot_conf");
 
-static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfCreateVBoxSnapshotConfHardDiskPtr(xmlNodePtr diskNode,
-                                                                   xmlXPathContextPtr xPathContext,
-                                                                   char *machineLocation)
+static virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfCreateVBoxSnapshotConfHardDiskPtr(xmlNodePtr diskNode,
+                                                     xmlXPathContextPtr xPathContext,
+                                                     const char *machineLocation)
 {
     virVBoxSnapshotConfHardDiskPtr hardDisk = NULL;
     xmlNodePtr *nodes = NULL;
@@ -114,9 +115,10 @@ static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfCreateVBoxSnapshotConfH
     return hardDisk;
 }
 
-static virVBoxSnapshotConfMediaRegistryPtr virVBoxSnapshotConfRetrieveMediaRegistry(xmlNodePtr mediaRegistryNode,
-                                                             xmlXPathContextPtr xPathContext,
-                                                             char *machineLocation)
+static virVBoxSnapshotConfMediaRegistryPtr
+virVBoxSnapshotConfRetrieveMediaRegistry(xmlNodePtr mediaRegistryNode,
+                                         xmlXPathContextPtr xPathContext,
+                                         const char *machineLocation)
 {
     virVBoxSnapshotConfMediaRegistryPtr mediaRegistry = NULL;
     xmlNodePtr hardDisksNode = NULL;
@@ -175,8 +177,9 @@ static virVBoxSnapshotConfMediaRegistryPtr virVBoxSnapshotConfRetrieveMediaRegis
     return mediaRegistry;
 }
 
-static virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfRetrieveSnapshot(xmlNodePtr snapshotNode,
-                                                   xmlXPathContextPtr xPathContext)
+static virVBoxSnapshotConfSnapshotPtr
+virVBoxSnapshotConfRetrieveSnapshot(xmlNodePtr snapshotNode,
+                                    xmlXPathContextPtr xPathContext)
 {
     virVBoxSnapshotConfSnapshotPtr snapshot = NULL;
     xmlNodePtr hardwareNode = NULL;
@@ -278,8 +281,9 @@ static virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfRetrieveSnapshot(xmlNod
     return snapshot;
 }
 
-virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot,
-                                          char *snapshotName)
+virVBoxSnapshotConfSnapshotPtr
+virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot,
+                                  const char *snapshotName)
 {
     size_t i = 0;
     virVBoxSnapshotConfSnapshotPtr ret = NULL;
@@ -293,8 +297,9 @@ virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfSnapshotByName(virVBoxSnapshot
     return ret;
 }
 
-static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskById(virVBoxSnapshotConfHardDiskPtr disk,
-                                               char *parentHardDiskId)
+static virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskById(virVBoxSnapshotConfHardDiskPtr disk,
+                                const char *parentHardDiskId)
 {
     size_t i = 0;
     virVBoxSnapshotConfHardDiskPtr ret = NULL;
@@ -308,8 +313,9 @@ static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskById(virVBoxSna
     return ret;
 }
 
-static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskByLocation(virVBoxSnapshotConfHardDiskPtr disk,
-                                                     char *parentLocation)
+static virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskByLocation(virVBoxSnapshotConfHardDiskPtr disk,
+                                      const char *parentLocation)
 {
     size_t i = 0;
     virVBoxSnapshotConfHardDiskPtr ret = NULL;
@@ -323,7 +329,8 @@ static virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskByLocation(virV
     return ret;
 }
 
-static xmlNodePtr virVBoxSnapshotConfCreateHardDiskNode(virVBoxSnapshotConfHardDiskPtr hardDisk)
+static xmlNodePtr
+virVBoxSnapshotConfCreateHardDiskNode(virVBoxSnapshotConfHardDiskPtr hardDisk)
 {
     int result = -1;
     size_t i = 0;
@@ -357,7 +364,9 @@ static xmlNodePtr virVBoxSnapshotConfCreateHardDiskNode(virVBoxSnapshotConfHardD
     return ret;
 }
 
-static int virVBoxSnapshotConfSerializeSnapshot(xmlNodePtr node, virVBoxSnapshotConfSnapshotPtr snapshot)
+static int
+virVBoxSnapshotConfSerializeSnapshot(xmlNodePtr node,
+                                     virVBoxSnapshotConfSnapshotPtr snapshot)
 {
     int result = -1;
     size_t i = 0;
@@ -458,7 +467,9 @@ static int virVBoxSnapshotConfSerializeSnapshot(xmlNodePtr node, virVBoxSnapshot
     return result;
 }
 
-static size_t virVBoxSnapshotConfAllChildren(virVBoxSnapshotConfHardDiskPtr disk, virVBoxSnapshotConfHardDiskPtr **list)
+static size_t
+virVBoxSnapshotConfAllChildren(virVBoxSnapshotConfHardDiskPtr disk,
+                               virVBoxSnapshotConfHardDiskPtr **list)
 {
     size_t returnSize = 0;
     size_t tempSize = 0;
@@ -486,7 +497,8 @@ static size_t virVBoxSnapshotConfAllChildren(virVBoxSnapshotConfHardDiskPtr disk
     return returnSize;
 }
 
-void virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk)
+void
+virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk)
 {
     size_t i = 0;
 
@@ -504,7 +516,8 @@ void virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk)
 }
 
 
-void virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry)
+void
+virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry)
 {
     size_t i = 0;
 
@@ -514,11 +527,14 @@ void virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr me
     for (i = 0; i < mediaRegistry->ndisks; i++)
         virVboxSnapshotConfHardDiskFree(mediaRegistry->disks[i]);
     VIR_FREE(mediaRegistry->disks);
-    virStringFreeList(mediaRegistry->otherMedia);
+    for (i = 0; i < mediaRegistry->notherMedia; i++)
+        VIR_FREE(mediaRegistry->otherMedia[i]);
+    VIR_FREE(mediaRegistry->otherMedia);
     VIR_FREE(mediaRegistry);
 }
 
-void virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot)
+void
+virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot)
 {
     size_t i = 0;
 
@@ -537,7 +553,8 @@ void virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot)
     VIR_FREE(snapshot);
 }
 
-void virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine)
+void
+virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine)
 {
     if (!machine)
         return;
@@ -561,7 +578,9 @@ void virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine)
  *return NULL on failure
  *filePath must not be NULL.
  */
-virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePath, char *machineLocation)
+virVBoxSnapshotConfMachinePtr
+virVBoxSnapshotConfLoadVboxFile(const char *filePath,
+                                const char *machineLocation)
 {
     int ret = -1;
     virVBoxSnapshotConfMachinePtr machineDescription = NULL;
@@ -702,6 +721,8 @@ virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePa
     cur = virXPathNode("./vbox:Snapshot", xPathContext);
     if (cur != NULL) {
         machineDescription->snapshot = virVBoxSnapshotConfRetrieveSnapshot(cur, xPathContext);
+        if (!machineDescription->snapshot)
+            goto cleanup;
     }
 
     ret = 0;
@@ -727,9 +748,10 @@ virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePa
  *return 0 on success
  *return -1 on failure
  */
-int virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot,
-                            virVBoxSnapshotConfMachinePtr machine,
-                            char *snapshotParentName)
+int
+virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot,
+                                           virVBoxSnapshotConfMachinePtr machine,
+                                           const char *snapshotParentName)
 {
     int ret = -1;
     virVBoxSnapshotConfSnapshotPtr parentSnapshot = NULL;
@@ -786,9 +808,10 @@ int virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr sn
  *return 0 on success
  *return -1 on failure
  */
-int virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk,
-                               virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
-                               char *parentHardDiskId)
+int
+virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk,
+                                              virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+                                              const char *parentHardDiskId)
 {
     int ret = -1;
     size_t i = 0;
@@ -834,7 +857,9 @@ int virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr
  *return 0 on success
  *return -1 on failure
  */
-int virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName)
+int
+virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine,
+                                  const char *snapshotName)
 {
     int ret = -1;
     size_t i = 0;
@@ -899,7 +924,9 @@ int virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine, cha
  *return 0 on success
  *return -1 on failure
  */
-int virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry, char *uuid)
+int
+virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+                                  const char *uuid)
 {
     int ret = -1;
     size_t i = 0;
@@ -957,7 +984,9 @@ int virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaR
  *return 0 on success
  *return -1 on failure
  */
-int virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine, const char *filePath)
+int
+virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine,
+                                const char *filePath)
 {
     int ret = -1;
     size_t i = 0;
@@ -1212,7 +1241,9 @@ int virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine, const
  *isCurrentSnapshot: Return 1 if 'snapshotName' corresponds to the
  *vboxSnapshotXmlMachinePtr's current snapshot, return 0 otherwise.
  */
-int virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName)
+int
+virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine,
+                                     const char *snapshotName)
 {
     virVBoxSnapshotConfSnapshotPtr snapshot = NULL;
     if (machine == NULL) {
@@ -1237,7 +1268,9 @@ int virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine,
  *fills a list of read-write disk paths.
  *return array length on success, -1 on failure.
  */
-int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwDisksPath)
+int
+virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(const char *filePath,
+                                                 char ***rwDisksPath)
 {
     int result = -1;
     size_t i = 0;
@@ -1246,6 +1279,7 @@ int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwD
     xmlXPathContextPtr xPathContext = NULL;
     xmlNodePtr *nodes = NULL;
     int nodeSize = 0;
+    *rwDisksPath = NULL;
     if (filePath == NULL) {
         virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
                        _("filePath is null"));
@@ -1281,10 +1315,13 @@ int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwD
     xmlFreeDoc(xml);
     xmlXPathFreeContext(xPathContext);
     if (result < 0) {
-        virStringFreeList(ret);
+        for (i = 0; i < nodeSize; i++)
+            VIR_FREE(ret[i]);
+        VIR_FREE(ret);
         nodeSize = -1;
+    } else {
+        *rwDisksPath = ret;
     }
-    *rwDisksPath = ret;
     return nodeSize;
 }
 
@@ -1293,7 +1330,9 @@ int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***rwD
  *a list of read-only disk paths (the parents of the read-write disks).
  *return array length on success, -1 on failure.
  */
-int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(char *filePath, char ***roDisksPath)
+int
+virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(const char *filePath,
+                                                 char ***roDisksPath)
 {
     int result = -1;
     size_t i = 0;
@@ -1349,7 +1388,9 @@ int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(char *filePath, char ***roD
  *hardDiskUuidByLocation: Return the uuid of the hard disk whose location is 'location'
  *return a valid uuid, or NULL on failure
  */
-char *virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine, char *location)
+const char *
+virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine,
+                                          const char *location)
 {
     size_t i = 0;
     virVBoxSnapshotConfHardDiskPtr hardDisk = NULL;
@@ -1368,9 +1409,10 @@ char *virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr ma
  *This list begins with the requested disk, and ends with the farthest ancestor.
  *return array length on success, -1 on failure.*/
 
-size_t virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
-                      virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen,
-                      char *location)
+size_t
+virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
+                                  virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen,
+                                  const char *location)
 {
     size_t i = 0;
     size_t returnSize = 0;
@@ -1404,7 +1446,8 @@ size_t virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
  *return 0 on success
  *return -1 on failure
  */
-int virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine)
+int
+virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine)
 {
     int ret = -1;
     size_t i = 0;
@@ -1444,7 +1487,9 @@ int virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine)
  *return 1 if the disk is in the media registry
  *return -1 on failure
  */
-int virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine, char *location)
+int
+virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine,
+                                         const char *location)
 {
     int ret = -1;
     size_t i = 0;
@@ -1477,7 +1522,9 @@ int virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machi
 /*
  *hardDisksPtrByLocation: Return a vboxSnapshotXmlHardDiskPtr whose location is 'location'
  */
-virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine, char *location)
+virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine,
+                                         const char *location)
 {
     int it = 0;
     virVBoxSnapshotConfHardDiskPtr disk = NULL;
diff --git a/src/vbox/vbox_snapshot_conf.h b/src/vbox/vbox_snapshot_conf.h
index 59353b5..3864b30 100644
--- a/src/vbox/vbox_snapshot_conf.h
+++ b/src/vbox/vbox_snapshot_conf.h
@@ -81,25 +81,61 @@ struct _virVBoxSnapshotConfMachine {
     char *storageController;
 };
 
-void virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk);
-void virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry);
-void virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot);
-void virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine);
+void
+virVboxSnapshotConfHardDiskFree(virVBoxSnapshotConfHardDiskPtr disk);
+void
+virVBoxSnapshotConfMediaRegistryFree(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry);
+void
+virVBoxSnapshotConfSnapshotFree(virVBoxSnapshotConfSnapshotPtr snapshot);
+void
+virVBoxSnapshotConfMachineFree(virVBoxSnapshotConfMachinePtr machine);
 
-virVBoxSnapshotConfMachinePtr virVBoxSnapshotConfLoadVboxFile(const char *filePath, char *machineLocation);
-int virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot, virVBoxSnapshotConfMachinePtr machine, char *snapshotParentName);
-int virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk, virVBoxSnapshotConfMediaRegistryPtr mediaRegistry, char *parentHardDiskId);
-int virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName);
-int virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,char *uuid);
-int virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine, const char *filePath);
-int virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine, char *snapshotName);
-int virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(char *filePath, char ***realReadWriteDisksPath);
-int virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(char *filePath, char ***realReadOnlyDisksPath);
-char *virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine, char *location);
-size_t virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine, virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen, char *location);
-int virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine);
-int virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine, char *location);
-virVBoxSnapshotConfHardDiskPtr virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine, char *location);
-virVBoxSnapshotConfSnapshotPtr virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot, char *snapshotName);
+virVBoxSnapshotConfMachinePtr
+virVBoxSnapshotConfLoadVboxFile(const char *filePath,
+                                const char *machineLocation);
+int
+virVBoxSnapshotConfAddSnapshotToXmlMachine(virVBoxSnapshotConfSnapshotPtr snapshot,
+                                           virVBoxSnapshotConfMachinePtr machine,
+                                           const char *snapshotParentName);
+int
+virVBoxSnapshotConfAddHardDiskToMediaRegistry(virVBoxSnapshotConfHardDiskPtr hardDisk,
+                                              virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+                                              const char *parentHardDiskId);
+int
+virVBoxSnapshotConfRemoveSnapshot(virVBoxSnapshotConfMachinePtr machine,
+                                  const char *snapshotName);
+int
+virVBoxSnapshotConfRemoveHardDisk(virVBoxSnapshotConfMediaRegistryPtr mediaRegistry,
+                                  const char *uuid);
+int
+virVBoxSnapshotConfSaveVboxFile(virVBoxSnapshotConfMachinePtr machine,
+                                const char *filePath);
+int
+virVBoxSnapshotConfIsCurrentSnapshot(virVBoxSnapshotConfMachinePtr machine,
+                                     const char *snapshotName);
+int
+virVBoxSnapshotConfGetRWDisksPathsFromLibvirtXML(const char *filePath,
+                                                 char ***realReadWriteDisksPath);
+int
+virVBoxSnapshotConfGetRODisksPathsFromLibvirtXML(const char *filePath,
+                                                 char ***realReadOnlyDisksPath);
+const char *
+virVBoxSnapshotConfHardDiskUuidByLocation(virVBoxSnapshotConfMachinePtr machine,
+                                          const char *location);
+size_t
+virVBoxSnapshotConfDiskListToOpen(virVBoxSnapshotConfMachinePtr machine,
+                                  virVBoxSnapshotConfHardDiskPtr **hardDiskToOpen,
+                                  const char *location);
+int
+virVBoxSnapshotConfRemoveFakeDisks(virVBoxSnapshotConfMachinePtr machine);
+int
+virVBoxSnapshotConfDiskIsInMediaRegistry(virVBoxSnapshotConfMachinePtr machine,
+                                         const char *location);
+virVBoxSnapshotConfHardDiskPtr
+virVBoxSnapshotConfHardDiskPtrByLocation(virVBoxSnapshotConfMachinePtr machine,
+                                         const char *location);
+virVBoxSnapshotConfSnapshotPtr
+virVBoxSnapshotConfSnapshotByName(virVBoxSnapshotConfSnapshotPtr snapshot,
+                                  const char *snapshotName);
 
 #endif /*VBOX_SNAPSHOT_CONF_H*/
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 498e2af..c999061 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -628,7 +628,7 @@ if WITH_VBOX
 vboxsnapshotxmltest_SOURCES = \
 	vboxsnapshotxmltest.c \
 	testutils.c testutils.h
-vbox_LDADDS = ../src/libvirt_driver_vbox.la
+vbox_LDADDS = ../src/libvirt_driver_vbox_impl.la
 vboxsnapshotxmltest_LDADD = $(LDADDS) $(vbox_LDADDS)
 else ! WITH_VBOX
 EXTRA_DIST += vboxsnapshotxmltest.c


Regards,
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 :|




More information about the libvir-list mailing list