On Wed, Mar 06, 2013 at 04:37:46PM +0100, Peter Krempa wrote:
---
src/conf/domain_conf.c | 98 ++++++++++++++++++++++++++++++------------------
src/conf/domain_conf.h | 20 +++++++---
src/conf/snapshot_conf.c | 3 +-
src/conf/snapshot_conf.h | 1 +
src/libvirt_private.syms | 2 +
5 files changed, 81 insertions(+), 43 deletions(-)
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index db14504..4ec3e0b 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1959,7 +1959,7 @@ virDomainObjIsActive(virDomainObjPtr dom)
return dom->def->id != -1;
}
-virDomainObjPtr virDomainObjNew(virCapsPtr caps);
+virDomainObjPtr virDomainObjNew(virDomainXMLConfPtr caps);
virDomainObjListPtr virDomainObjListNew(void);
@@ -2034,7 +2034,7 @@ enum {
VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE = (1 << 1),
};
virDomainObjPtr virDomainObjListAdd(virDomainObjListPtr doms,
- virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
const virDomainDefPtr def,
unsigned int flags,
virDomainDefPtr *oldDef);
I'd suggest we make 'xmlconf' as ATTRIBUTE_NONNULL for all these
APIs, and thus avoid the need for parser code to contain 'if (xmlconf)'
tests everywhere
@@ -2043,22 +2043,26 @@ void virDomainObjAssignDef(virDomainObjPtr
domain,
bool live,
virDomainDefPtr *oldDef);
int virDomainObjSetDefTransient(virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
virDomainObjPtr domain,
bool live);
virDomainDefPtr
virDomainObjGetPersistentDef(virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
virDomainObjPtr domain);
int
virDomainLiveConfigHelperMethod(virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
virDomainObjPtr dom,
unsigned int *flags,
virDomainDefPtr *persistentDef);
-virDomainDefPtr virDomainDefCopy(virCapsPtr caps, virDomainDefPtr src,
- bool migratable);
+virDomainDefPtr virDomainDefCopy(virCapsPtr caps, virDomainXMLConfPtr xmlconf,
+ virDomainDefPtr src, bool migratable);
virDomainDefPtr
-virDomainObjCopyPersistentDef(virCapsPtr caps, virDomainObjPtr dom);
+virDomainObjCopyPersistentDef(virCapsPtr caps, virDomainXMLConfPtr xmlconf,
+ virDomainObjPtr dom);
void virDomainObjListRemove(virDomainObjListPtr doms,
virDomainObjPtr dom);
@@ -2068,14 +2072,17 @@ virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
const char *xmlStr,
unsigned int flags);
virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
const char *xmlStr,
unsigned int expectedVirtTypes,
unsigned int flags);
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
const char *filename,
unsigned int expectedVirtTypes,
unsigned int flags);
virDomainDefPtr virDomainDefParseNode(virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
xmlDocPtr doc,
xmlNodePtr root,
unsigned int expectedVirtTypes,
@@ -2192,7 +2199,7 @@ int virDomainSaveXML(const char *configDir,
int virDomainSaveConfig(const char *configDir,
virDomainDefPtr def);
-int virDomainSaveStatus(virCapsPtr caps,
+int virDomainSaveStatus(virDomainXMLConfPtr xmlconf,
const char *statusDir,
virDomainObjPtr obj) ATTRIBUTE_RETURN_CHECK;
@@ -2202,6 +2209,7 @@ typedef void (*virDomainLoadConfigNotify)(virDomainObjPtr dom,
int virDomainObjListLoadAllConfigs(virDomainObjListPtr doms,
virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
const char *configDir,
const char *autostartDir,
int liveStatus,
diff --git a/src/conf/snapshot_conf.h b/src/conf/snapshot_conf.h
index f1d5995..e8bd24a 100644
--- a/src/conf/snapshot_conf.h
+++ b/src/conf/snapshot_conf.h
@@ -101,6 +101,7 @@ typedef enum {
virDomainSnapshotDefPtr virDomainSnapshotDefParseString(const char *xmlStr,
virCapsPtr caps,
+ virDomainXMLConfPtr xmlconf,
unsigned int expectedVirtTypes,
unsigned int flags);
And NONNULL here too
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 :|