* python/generator.py python/libvir.c python/libvirt-python-api.xml:

UUID strings can contain zeroes, so the autogenerated conversion
  functions don't work.
Daniel
This commit is contained in:
Daniel Veillard 2006-02-24 12:26:56 +00:00
parent 20cfd0c818
commit fd21f1b3ec
4 changed files with 38 additions and 1 deletions

View File

@ -1,3 +1,9 @@
Fri Feb 24 13:25:36 CET 2006 Daniel Veillard <veillard@redhat.com>
* python/generator.py python/libvir.c python/libvirt-python-api.xml:
UUID strings can contain zeroes, so the autogenerated conversion
functions don't work.
Thu Feb 23 06:24:46 EST 2006 Daniel Veillard <veillard@redhat.com>
* src/libvirt.c: fixing a bug before the release of 0.0.5

View File

@ -204,7 +204,7 @@ def enum(type, name, value):
functions_failed = []
functions_skipped = [
"virConnectListDomains" , "virDomainGetUUID"
"virConnectListDomains"
]
skipped_modules = {
@ -262,6 +262,7 @@ skip_impl = (
'virConnectListDomainsID',
'virDomainGetInfo',
'virDomainGetUUID',
'virDomainLookupByUUID',
)
def skip_function(name):

View File

@ -125,6 +125,29 @@ libvirt_virDomainGetUUID(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
return(py_retval);
}
PyObject *
libvirt_virDomainLookupByUUID(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) {
PyObject *py_retval;
virDomainPtr c_retval;
virConnectPtr conn;
PyObject *pyobj_conn;
unsigned char * uuid;
int len;
if (!PyArg_ParseTuple(args, (char *)"Oz#:virDomainLookupByUUID", &pyobj_conn, &uuid, &len))
return(NULL);
conn = (virConnectPtr) PyvirConnect_Get(pyobj_conn);
if ((uuid == NULL) || (len != 16)) {
Py_INCREF(Py_None);
return(Py_None);
}
c_retval = virDomainLookupByUUID(conn, uuid);
py_retval = libvirt_virDomainPtrWrap((virDomainPtr) c_retval);
return(py_retval);
}
/************************************************************************
* *
* The registration stuff *
@ -137,6 +160,7 @@ static PyMethodDef libvirtMethods[] = {
{(char *) "virConnectListDomainsID", libvirt_virConnectListDomainsID, METH_VARARGS, NULL},
{(char *) "virDomainGetInfo", libvirt_virDomainGetInfo, METH_VARARGS, NULL},
{(char *) "virDomainGetUUID", libvirt_virDomainGetUUID, METH_VARARGS, NULL},
{(char *) "virDomainLookupByUUID", libvirt_virDomainLookupByUUID, METH_VARARGS, NULL},
{NULL, NULL, 0, NULL}
};

View File

@ -6,6 +6,12 @@
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<return type='int *' info="the list of ID or None in case of error"/>
</function>
<function name='virDomainLookupByUUID' file='python'>
<info>Try to lookup a domain on the given hypervisor based on its UUID.</info>
<return type='virDomainPtr' info='a new domain object or NULL in case of failure'/>
<arg name='conn' type='virConnectPtr' info='pointer to the hypervisor connection'/>
<arg name='uuid' type='const unsigned char *' info='the UUID string for the domain, must be 16 bytes'/>
</function>
<function name='virDomainGetInfo' file='libvir' module='python'>
<info>Extract information about a domain. Note that if the connection used to get the domain is limited only a partial set of the informations can be extracted.</info>
<return type='int *' info='the list of informations or None in case of error'/>