[Libvir] Added python binding for autostart flag
Daniel P. Berrange
berrange at redhat.com
Mon Apr 2 21:41:14 UTC 2007
The vir{Domain,Network}GetAutostart() methods are missing from the python
binding because they used an int * as a parameter. The attached patch adds
a hand-written impl of these two APIs for the python binding.
Dan.
--
|=- Red Hat, Engineering, Emerging Technologies, Boston. +1 978 392 2496 -=|
|=- Perl modules: http://search.cpan.org/~danberr/ -=|
|=- Projects: http://freshmeat.net/~danielpb/ -=|
|=- GnuPG: 7D3B9505 F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 -=|
-------------- next part --------------
Index: libvir.c
===================================================================
RCS file: /data/cvs/libvirt/python/libvir.c,v
retrieving revision 1.20
diff -u -p -r1.20 libvir.c
--- libvir.c 9 Mar 2007 15:42:50 -0000 1.20
+++ libvir.c 2 Apr 2007 21:39:43 -0000
@@ -570,6 +570,56 @@ libvirt_virNetworkLookupByUUID(PyObject
}
+PyObject *
+libvirt_virDomainGetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval, autostart;
+ virDomainPtr domain;
+ PyObject *pyobj_domain;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetAutostart", &pyobj_domain))
+ return(NULL);
+
+ domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+
+ LIBVIRT_BEGIN_ALLOW_THREADS;
+ c_retval = virDomainGetAutostart(domain, &autostart);
+ LIBVIRT_END_ALLOW_THREADS;
+
+ if (c_retval < 0) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+ py_retval = libvirt_intWrap(autostart);
+ return(py_retval);
+}
+
+
+PyObject *
+libvirt_virNetworkGetAutostart(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
+ PyObject *py_retval;
+ int c_retval, autostart;
+ virNetworkPtr network;
+ PyObject *pyobj_network;
+
+ if (!PyArg_ParseTuple(args, (char *)"O:virNetworkGetAutostart", &pyobj_network))
+ return(NULL);
+
+ network = (virNetworkPtr) PyvirNetwork_Get(pyobj_network);
+
+ LIBVIRT_BEGIN_ALLOW_THREADS;
+ c_retval = virNetworkGetAutostart(network, &autostart);
+ LIBVIRT_END_ALLOW_THREADS;
+
+ if (c_retval < 0) {
+ Py_INCREF(Py_None);
+ return Py_None;
+ }
+ py_retval = libvirt_intWrap(autostart);
+ return(py_retval);
+}
+
+
/************************************************************************
* *
@@ -594,6 +644,8 @@ static PyMethodDef libvirtMethods[] = {
{(char *) "virConnectListDefinedNetworks", libvirt_virConnectListDefinedNetworks, METH_VARARGS, NULL},
{(char *) "virNetworkGetUUID", libvirt_virNetworkGetUUID, METH_VARARGS, NULL},
{(char *) "virNetworkLookupByUUID", libvirt_virNetworkLookupByUUID, METH_VARARGS, NULL},
+ {(char *) "virDomainGetAutostart", libvirt_virDomainGetAutostart, METH_VARARGS, NULL},
+ {(char *) "virNetworkGetAutostart", libvirt_virNetworkGetAutostart, METH_VARARGS, NULL},
{NULL, NULL, 0, NULL}
};
Index: libvirt-python-api.xml
===================================================================
RCS file: /data/cvs/libvirt/python/libvirt-python-api.xml,v
retrieving revision 1.6
diff -u -p -r1.6 libvirt-python-api.xml
--- libvirt-python-api.xml 9 Mar 2007 15:42:50 -0000 1.6
+++ libvirt-python-api.xml 2 Apr 2007 21:39:43 -0000
@@ -53,5 +53,15 @@
<return type='char *' info='the 16 bytes string or None in case of error'/>
<arg name='domain' type='virNetworkPtr' info='a network object'/>
</function>
+ <function name='virNetworkGetAutostart' file='python'>
+ <info>Extract the autostart flag for a network.</info>
+ <return type='int' info='the autostart flag, or None in case of error'/>
+ <arg name='domain' type='virNetworkPtr' info='a network object'/>
+ </function>
+ <function name='virDomainGetAutostart' file='python'>
+ <info>Extract the autostart flag for a domain</info>
+ <return type='int' info='the autostart flag, or None in case of error'/>
+ <arg name='domain' type='virDomainPtr' info='a network object'/>
+ </function>
</symbols>
</api>
More information about the libvir-list
mailing list