From 55eb5dac68a890a301c64a50253f15350996c511 Mon Sep 17 00:00:00 2001 From: MATSUDA Daiki Date: Thu, 23 Aug 2012 12:29:26 +0900 Subject: agent: add python module support Add virDomainQemuAgentCommand() support function to python module. Signed-off-by: MATSUDA Daiki --- libvirt-qemu-override-api.xml | 8 ++++++++ libvirt-qemu-override.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/libvirt-qemu-override-api.xml b/libvirt-qemu-override-api.xml index d69acea..ca0dae9 100644 --- a/libvirt-qemu-override-api.xml +++ b/libvirt-qemu-override-api.xml @@ -8,5 +8,13 @@ + + Send a Guest Agent command to domain + + + + + + diff --git a/libvirt-qemu-override.c b/libvirt-qemu-override.c index e532416..243692a 100644 --- a/libvirt-qemu-override.c +++ b/libvirt-qemu-override.c @@ -82,6 +82,34 @@ libvirt_qemu_virDomainQemuMonitorCommand(PyObject *self ATTRIBUTE_UNUSED, return py_retval; } +static PyObject * +libvirt_qemu_virDomainQemuAgentCommand(PyObject *self ATTRIBUTE_UNUSED, PyObject *args) +{ + PyObject *py_retval; + char *result = NULL; + virDomainPtr domain; + PyObject *pyobj_domain; + int timeout; + unsigned int flags; + char *cmd; + + if (!PyArg_ParseTuple(args, (char *)"Ozii:virDomainQemuAgentCommand", + &pyobj_domain, &cmd, &timeout, &flags)) + return NULL; + domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain); + + if (domain == NULL) + return VIR_PY_NONE; + LIBVIRT_BEGIN_ALLOW_THREADS; + result = virDomainQemuAgentCommand(domain, cmd, timeout, flags); + LIBVIRT_END_ALLOW_THREADS; + + if (!result) + return VIR_PY_NONE; + + py_retval = PyString_FromString(result); + return py_retval; +} /************************************************************************ * * * The registration stuff * @@ -90,6 +118,7 @@ libvirt_qemu_virDomainQemuMonitorCommand(PyObject *self ATTRIBUTE_UNUSED, static PyMethodDef libvirtQemuMethods[] = { #include "libvirt-qemu-export.c" {(char *) "virDomainQemuMonitorCommand", libvirt_qemu_virDomainQemuMonitorCommand, METH_VARARGS, NULL}, + {(char *) "virDomainQemuAgentCommand", libvirt_qemu_virDomainQemuAgentCommand, METH_VARARGS, NULL}, {NULL, NULL, 0, NULL} }; -- cgit