On Tue, Apr 13, 2010 at 02:36:47PM -0400, Chris Lalancette wrote:
Signed-off-by: Chris Lalancette <clalance(a)redhat.com>
---
src/conf/domain_conf.c | 106 +++++++++++++++++++++++++++++------------
src/conf/domain_conf.h | 26 ++++++++--
src/esx/esx_driver.c | 4 +-
src/lxc/lxc_controller.c | 2 +-
src/lxc/lxc_driver.c | 10 ++--
src/opennebula/one_driver.c | 4 +-
src/openvz/openvz_driver.c | 4 +-
src/phyp/phyp_driver.c | 2 +-
src/security/virt-aa-helper.c | 2 +-
src/test/test_driver.c | 12 ++--
src/uml/uml_driver.c | 4 +-
src/vbox/vbox_tmpl.c | 2 +-
src/xen/xend_internal.c | 4 +-
src/xen/xm_internal.c | 2 +-
src/xenapi/xenapi_driver.c | 4 +-
tests/bochsconf2xmltest | Bin 0 -> 714002 bytes
tests/qemuxml2argvtest.c | 2 +-
tests/qemuxml2xmltest.c | 2 +-
tests/xmconfigtest.c | 2 +-
tests/xml2vmxtest.c | 2 +-
20 files changed, 127 insertions(+), 69 deletions(-)
create mode 100755 tests/bochsconf2xmltest
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 82f2d15..95a8dfb 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -794,6 +794,19 @@ int virDomainSnapshotObjUnref(virDomainSnapshotObjPtr snapshot);
int virDomainSnapshotHasChildren(virDomainSnapshotObjPtr snap,
virDomainSnapshotObjListPtr snapshots);
+typedef void *(*virDomainDefNamespaceParse)(xmlDocPtr, xmlNodePtr,
+ xmlXPathContextPtr);
+typedef void (*virDomainDefNamespaceFree)(void *);
+typedef int (*virDomainDefNamespaceXMLFormat)(virBufferPtr, void *);
+typedef const char *(*virDomainDefNamespaceHref)(void);
+
+struct xmlNamespace {
+ virDomainDefNamespaceParse parse;
+ virDomainDefNamespaceFree free;
+ virDomainDefNamespaceXMLFormat format;
+ virDomainDefNamespaceHref href;
+};
Lets rename that struct to have a virDomain prefix, since 'xmlNamespace'
could easily clash with something libxml might define.
+
/* Guest VM main configuration */
typedef struct _virDomainDef virDomainDef;
typedef virDomainDef *virDomainDefPtr;
@@ -863,6 +876,9 @@ struct _virDomainDef {
virSecurityLabelDef seclabel;
virDomainWatchdogDefPtr watchdog;
virCPUDefPtr cpu;
+
+ void *namespaceData;
+ struct xmlNamespace ns;
};
As mentioned in the other patch reply, I think it'd be preferable to
keep a struct with the parser config in virCapsPtr, so we don't need
to add to this struct, nor pass it into all the parse/format methods.
/* Guest VM runtime state */
@@ -965,21 +981,18 @@ virDomainDeviceDefPtr virDomainDeviceDefParse(virCapsPtr caps,
int flags);
virDomainDefPtr virDomainDefParseString(virCapsPtr caps,
const char *xmlStr,
+ struct xmlNamespace *ns,
int flags);
virDomainDefPtr virDomainDefParseFile(virCapsPtr caps,
const char *filename,
+ struct xmlNamespace *ns,
int flags);
virDomainDefPtr virDomainDefParseNode(virCapsPtr caps,
xmlDocPtr doc,
xmlNodePtr root,
+ struct xmlNamespace *ns,
int flags);
-virDomainObjPtr virDomainObjParseFile(virCapsPtr caps,
- const char *filename);
-virDomainObjPtr virDomainObjParseNode(virCapsPtr caps,
- xmlDocPtr xml,
- xmlNodePtr root);
-
int virDomainDefAddImplicitControllers(virDomainDefPtr def);
# endif
@@ -1024,6 +1037,7 @@ int virDomainLoadAllConfigs(virCapsPtr caps,
const char *autostartDir,
int liveStatus,
virDomainLoadConfigNotify notify,
+ struct xmlNamespace *ns,
void *opaque);
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|