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