summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2009-05-21 10:57:05 +0000
committerDaniel P. Berrange <berrange@redhat.com>2009-05-21 10:57:05 +0000
commit5d24a7a2136e33f2f5f3e9c8c2ee5953537b1d77 (patch)
tree83c3ceed7b7c6ae3f8eb3620be3bd64011db4c61
parentcbfce0d1daa2e34f553dd71f978b80a7794bf3e6 (diff)
downloadlibvirt-python-split-5d24a7a2136e33f2f5f3e9c8c2ee5953537b1d77.tar.gz
libvirt-python-split-5d24a7a2136e33f2f5f3e9c8c2ee5953537b1d77.tar.xz
libvirt-python-split-5d24a7a2136e33f2f5f3e9c8c2ee5953537b1d77.zip
Add virInterface APIs to python code generator
-rwxr-xr-xgenerator.py45
-rw-r--r--libvirt_wrap.h10
-rw-r--r--types.c15
3 files changed, 67 insertions, 3 deletions
diff --git a/generator.py b/generator.py
index 00c9aca..9528839 100755
--- a/generator.py
+++ b/generator.py
@@ -246,6 +246,11 @@ py_types = {
'virNetwork *': ('O', "virNetwork", "virNetworkPtr", "virNetworkPtr"),
'const virNetwork *': ('O', "virNetwork", "virNetworkPtr", "virNetworkPtr"),
+ 'virInterfacePtr': ('O', "virInterface", "virInterfacePtr", "virInterfacePtr"),
+ 'const virInterfacePtr': ('O', "virInterface", "virInterfacePtr", "virInterfacePtr"),
+ 'virInterface *': ('O', "virInterface", "virInterfacePtr", "virInterfacePtr"),
+ 'const virInterface *': ('O', "virInterface", "virInterfacePtr", "virInterfacePtr"),
+
'virStoragePoolPtr': ('O', "virStoragePool", "virStoragePoolPtr", "virStoragePoolPtr"),
'const virStoragePoolPtr': ('O', "virStoragePool", "virStoragePoolPtr", "virStoragePoolPtr"),
'virStoragePool *': ('O', "virStoragePool", "virStoragePoolPtr", "virStoragePoolPtr"),
@@ -289,6 +294,8 @@ skip_impl = (
'virConnectListDefinedDomains',
'virConnectListNetworks',
'virConnectListDefinedNetworks',
+ 'virConnectListInterfaces',
+ 'virConnectListDefinedInterfaces',
'virConnectListStoragePools',
'virConnectListDefinedStoragePools',
'virConnectListStorageVols',
@@ -608,6 +615,8 @@ classes_type = {
"virDomain *": ("._o", "virDomain(self, _obj=%s)", "virDomain"),
"virNetworkPtr": ("._o", "virNetwork(self, _obj=%s)", "virNetwork"),
"virNetwork *": ("._o", "virNetwork(self, _obj=%s)", "virNetwork"),
+ "virInterfacePtr": ("._o", "virInterface(self, _obj=%s)", "virInterface"),
+ "virInterface *": ("._o", "virInterface(self, _obj=%s)", "virInterface"),
"virStoragePoolPtr": ("._o", "virStoragePool(self, _obj=%s)", "virStoragePool"),
"virStoragePool *": ("._o", "virStoragePool(self, _obj=%s)", "virStoragePool"),
"virStorageVolPtr": ("._o", "virStorageVol(self, _obj=%s)", "virStorageVol"),
@@ -621,7 +630,8 @@ classes_type = {
converter_type = {
}
-primary_classes = ["virDomain", "virNetwork", "virStoragePool", "virStorageVol",
+primary_classes = ["virDomain", "virNetwork", "virInterface",
+ "virStoragePool", "virStorageVol",
"virConnect", "virNodeDevice" ]
classes_ancestor = {
@@ -629,6 +639,7 @@ classes_ancestor = {
classes_destructors = {
"virDomain": "virDomainFree",
"virNetwork": "virNetworkFree",
+ "virInterface": "virInterfaceFree",
"virStoragePool": "virStoragePoolFree",
"virStorageVol": "virStorageVolFree",
"virNodeDevice" : "virNodeDeviceFree"
@@ -638,6 +649,7 @@ functions_noexcept = {
'virDomainGetID': True,
'virDomainGetName': True,
'virNetworkGetName': True,
+ 'virInterfaceGetName': True,
'virStoragePoolGetName': True,
'virStorageVolGetName': True,
'virStorageVolGetkey': True,
@@ -690,6 +702,15 @@ def nameFixup(name, classe, type, file):
elif name[0:16] == "virNetworkLookup":
func = name[3:]
func = string.lower(func[0:1]) + func[1:]
+ elif name[0:18] == "virInterfaceDefine":
+ func = name[3:]
+ func = string.lower(func[0:1]) + func[1:]
+ elif name[0:21] == "virInterfaceCreateXML":
+ func = name[3:]
+ func = string.lower(func[0:1]) + func[1:]
+ elif name[0:18] == "virInterfaceLookup":
+ func = name[3:]
+ func = string.lower(func[0:1]) + func[1:]
elif name[0:20] == "virStoragePoolDefine":
func = name[3:]
func = string.lower(func[0:1]) + func[1:]
@@ -717,6 +738,12 @@ def nameFixup(name, classe, type, file):
elif name[0:10] == "virNetwork":
func = name[10:]
func = string.lower(func[0:1]) + func[1:]
+ elif name[0:15] == "virInterfaceGet":
+ func = name[13:]
+ func = string.lower(func[0:1]) + func[1:]
+ elif name[0:12] == "virInterface":
+ func = name[10:]
+ func = string.lower(func[0:1]) + func[1:]
elif name[0:17] == "virStoragePoolGet":
func = name[17:]
func = string.lower(func[0:1]) + func[1:]
@@ -988,7 +1015,7 @@ def buildWrappers():
else:
txt.write("Class %s()\n" % (classname))
classes.write("class %s:\n" % (classname))
- if classname in [ "virDomain", "virNetwork", "virStoragePool", "virStorageVol", "virNodeDevice" ]:
+ if classname in [ "virDomain", "virNetwork", "virInterface", "virStoragePool", "virStorageVol", "virNodeDevice" ]:
classes.write(" def __init__(self, conn, _obj=None):\n")
else:
classes.write(" def __init__(self, _obj=None):\n")
@@ -996,7 +1023,7 @@ def buildWrappers():
list = reference_keepers[classname]
for ref in list:
classes.write(" self.%s = None\n" % ref[1])
- if classname in [ "virDomain", "virNetwork", "virNodeDevice" ]:
+ if classname in [ "virDomain", "virNetwork", "virInterface", "virNodeDevice" ]:
classes.write(" self._conn = conn\n")
elif classname in [ "virStorageVol", "virStoragePool" ]:
classes.write(" self._conn = conn\n" + \
@@ -1097,6 +1124,10 @@ def buildWrappers():
classes.write(
" if ret is None:raise libvirtError('%s() failed', net=self)\n" %
(name))
+ elif classname == "virInterface":
+ classes.write(
+ " if ret is None:raise libvirtError('%s() failed', net=self)\n" %
+ (name))
elif classname == "virStoragePool":
classes.write(
" if ret is None:raise libvirtError('%s() failed', pool=self)\n" %
@@ -1177,6 +1208,10 @@ def buildWrappers():
classes.write ((" if " + test +
": raise libvirtError ('%s() failed', net=self)\n") %
("ret", name))
+ elif classname == "virInterface":
+ classes.write ((" if " + test +
+ ": raise libvirtError ('%s() failed', net=self)\n") %
+ ("ret", name))
elif classname == "virStoragePool":
classes.write ((" if " + test +
": raise libvirtError ('%s() failed', pool=self)\n") %
@@ -1215,6 +1250,10 @@ def buildWrappers():
classes.write ((" if " + test +
": raise libvirtError ('%s() failed', net=self)\n") %
("ret", name))
+ elif classname == "virInterface":
+ classes.write ((" if " + test +
+ ": raise libvirtError ('%s() failed', net=self)\n") %
+ ("ret", name))
elif classname == "virStoragePool":
classes.write ((" if " + test +
": raise libvirtError ('%s() failed', pool=self)\n") %
diff --git a/libvirt_wrap.h b/libvirt_wrap.h
index fa773d2..158f9f2 100644
--- a/libvirt_wrap.h
+++ b/libvirt_wrap.h
@@ -48,6 +48,15 @@ typedef struct {
} PyvirNetwork_Object;
+#define PyvirInterface_Get(v) (((v) == Py_None) ? NULL : \
+ (((PyvirInterface_Object *)(v))->obj))
+
+typedef struct {
+ PyObject_HEAD
+ virInterfacePtr obj;
+} PyvirInterface_Object;
+
+
#define PyvirStoragePool_Get(v) (((v) == Py_None) ? NULL : \
(((PyvirStoragePool_Object *)(v))->obj))
@@ -118,6 +127,7 @@ PyObject * libvirt_charPtrConstWrap(const char *str);
PyObject * libvirt_virConnectPtrWrap(virConnectPtr node);
PyObject * libvirt_virDomainPtrWrap(virDomainPtr node);
PyObject * libvirt_virNetworkPtrWrap(virNetworkPtr node);
+PyObject * libvirt_virInterfacePtrWrap(virInterfacePtr node);
PyObject * libvirt_virStoragePoolPtrWrap(virStoragePoolPtr node);
PyObject * libvirt_virStorageVolPtrWrap(virStorageVolPtr node);
PyObject * libvirt_virEventHandleCallbackWrap(virEventHandleCallback node);
diff --git a/types.c b/types.c
index 7981f80..de75471 100644
--- a/types.c
+++ b/types.c
@@ -119,6 +119,21 @@ libvirt_virNetworkPtrWrap(virNetworkPtr node)
}
PyObject *
+libvirt_virInterfacePtrWrap(virInterfacePtr node)
+{
+ PyObject *ret;
+
+ if (node == NULL) {
+ Py_INCREF(Py_None);
+ return (Py_None);
+ }
+ ret =
+ PyCObject_FromVoidPtrAndDesc((void *) node, (char *) "virInterfacePtr",
+ NULL);
+ return (ret);
+}
+
+PyObject *
libvirt_virStoragePoolPtrWrap(virStoragePoolPtr node)
{
PyObject *ret;