override: domain: Implement override for virDomainGetAutostartOnce()
authorMichal Privoznik <[email protected]>
Fri, 21 Mar 2025 09:06:48 +0000 (21 10:06 +0100)
committerMichal Privoznik <[email protected]>
Fri, 21 Mar 2025 15:42:48 +0000 (21 16:42 +0100)
The bindings generator can't generate proper bindings for
virDomainGetAutostartOnce() (because of int* in the arguments) so
implement it manually.

Signed-off-by: Michal Privoznik <[email protected]>
generator.py
libvirt-override-api.xml
libvirt-override.c

index ec6a418..e39d3a8 100755 (executable)
@@ -440,6 +440,7 @@ skip_impl = {
     'virNodeDeviceGetAutostart',
     'virDomainSaveParams',
     'virDomainRestoreParams',
+    'virDomainGetAutostartOnce',
 
     'virDomainLxcOpenNamespace',
 
index 7696eb6..ee14d94 100644 (file)
       <arg name='params' type='virTypedParameterPtr' info='pointer to save parameter objects'/>
       <arg name='flags'  type='int' info='an OR&apos;ed set of virDomainSaveRestoreFlags'/>
     </function>
+    <function name='virDomainGetAutostartOnce' file='python'>
+      <info>Provides a boolean value indicating whether the domain is configured to be automatically started the next time the host machine boots only.</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>
index d10249a..31c2416 100644 (file)
@@ -10913,6 +10913,32 @@ libvirt_virDomainFDAssociate(PyObject *self ATTRIBUTE_UNUSED,
 #endif /* LIBVIR_CHECK_VERSION(9, 0, 0) */
 
 
+#if LIBVIR_CHECK_VERSION(11, 2, 0)
+static PyObject *
+libvirt_virDomainGetAutostartOnce(PyObject *self ATTRIBUTE_UNUSED,
+                                  PyObject *args)
+{
+    int c_retval, autostart;
+    virDomainPtr domain;
+    PyObject *pyobj_domain;
+
+    if (!PyArg_ParseTuple(args, (char *)"O:virDomainGetAutostartOnce",
+                          &pyobj_domain))
+        return NULL;
+
+    domain = (virDomainPtr) PyvirDomain_Get(pyobj_domain);
+
+    LIBVIRT_BEGIN_ALLOW_THREADS;
+    c_retval = virDomainGetAutostartOnce(domain, &autostart);
+    LIBVIRT_END_ALLOW_THREADS;
+
+    if (c_retval < 0)
+        return VIR_PY_INT_FAIL;
+
+    return libvirt_intWrap(autostart);
+}
+#endif /* LIBVIR_CHECK_VERSION(11, 2, 0) */
+
 
 /************************************************************************
  *                                                                     *
@@ -11198,6 +11224,9 @@ static PyMethodDef libvirtMethods[] = {
 #if LIBVIR_CHECK_VERSION(9, 0, 0)
     {(char *) "virDomainFDAssociate", libvirt_virDomainFDAssociate, METH_VARARGS, NULL},
 #endif /* LIBVIR_CHECK_VERSION(9, 0, 0) */
+#if LIBVIR_CHECK_VERSION(11, 2, 0)
+    {(char *) "virDomainGetAutostartOnce", libvirt_virDomainGetAutostartOnce, METH_VARARGS, NULL},
+#endif /* LIBVIR_CHECK_VERSION(11, 2, 0) */
     {NULL, NULL, 0, NULL}
 };