diff options
author | Daniel P. Berrange <berrange@redhat.com> | 2013-11-22 14:32:23 +0000 |
---|---|---|
committer | Daniel P. Berrange <berrange@redhat.com> | 2013-11-22 15:54:43 +0000 |
commit | 70b8c9a2a3fe293aa055fde0d8a9df13263c3fd8 (patch) | |
tree | f9dea4670dbc06a55093f9bce8b2fec625f3df75 | |
parent | 45ac117cf619bed49d30d6d330fdd6cc8a4bcdbb (diff) | |
download | libvirt-python-v9-70b8c9a2a3fe293aa055fde0d8a9df13263c3fd8.tar.gz libvirt-python-v9-70b8c9a2a3fe293aa055fde0d8a9df13263c3fd8.tar.xz libvirt-python-v9-70b8c9a2a3fe293aa055fde0d8a9df13263c3fd8.zip |
Mostly revert "python: remove virConnectGetCPUModelNames from globals"
This reverts commit 6b90d7428d72e92db292a9228c44701bfd5003c9.
The original problem was that libvirt_virConnectGetCPUModelNames
was listed twice in the exports table, once automatically from
the generator and once from the manual override. We merely needed
to list it in the skip_impl list, and not delete the manually
written code entirely.
-rw-r--r-- | libvirt-override.c | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/libvirt-override.c b/libvirt-override.c index 2f520c1..c60747d 100644 --- a/libvirt-override.c +++ b/libvirt-override.c @@ -2277,6 +2277,58 @@ libvirt_virConnectGetVersion(PyObject *self ATTRIBUTE_UNUSED, } static PyObject * +libvirt_virConnectGetCPUModelNames(PyObject *self ATTRIBUTE_UNUSED, + PyObject *args) +{ + int c_retval; + virConnectPtr conn; + PyObject *rv = NULL, *pyobj_conn; + char **models = NULL; + size_t i; + int flags = 0; + const char *arch = NULL; + + if (!PyArg_ParseTuple(args, (char *)"Osi:virConnectGetCPUModelNames", + &pyobj_conn, &arch, &flags)) + return NULL; + conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn); + + LIBVIRT_BEGIN_ALLOW_THREADS; + + c_retval = virConnectGetCPUModelNames(conn, arch, &models, flags); + + LIBVIRT_END_ALLOW_THREADS; + + if (c_retval == -1) + return VIR_PY_INT_FAIL; + + if ((rv = PyList_New(c_retval)) == NULL) + goto error; + + for (i = 0; i < c_retval; i++) { + PyObject *str; + if ((str = PyString_FromString(models[i])) == NULL) + goto error; + + PyList_SET_ITEM(rv, i, str); + } + +done: + if (models) { + for (i = 0; i < c_retval; i++) + VIR_FREE(models[i]); + VIR_FREE(models); + } + + return rv; + +error: + Py_XDECREF(rv); + rv = VIR_PY_INT_FAIL; + goto done; +} + +static PyObject * libvirt_virConnectGetLibVersion(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) { @@ -7176,6 +7228,7 @@ static PyMethodDef libvirtMethods[] = { #include "libvirt-export.c" {(char *) "virGetVersion", libvirt_virGetVersion, METH_VARARGS, NULL}, {(char *) "virConnectGetVersion", libvirt_virConnectGetVersion, METH_VARARGS, NULL}, + {(char *) "virConnectGetCPUModelNames", libvirt_virConnectGetCPUModelNames, METH_VARARGS, NULL}, {(char *) "virConnectGetLibVersion", libvirt_virConnectGetLibVersion, METH_VARARGS, NULL}, {(char *) "virConnectOpenAuth", libvirt_virConnectOpenAuth, METH_VARARGS, NULL}, {(char *) "virConnectListDomainsID", libvirt_virConnectListDomainsID, METH_VARARGS, NULL}, |