return 0;
}
+
static int
-virQEMUCapsProbeQMPDevices(virQEMUCapsPtr qemuCaps,
- qemuMonitorPtr mon)
+virQEMUCapsProbeQMPObjectTypes(virQEMUCapsPtr qemuCaps,
+ qemuMonitorPtr mon)
{
int nvalues;
char **values;
nvalues, values);
virStringListFreeCount(values, nvalues);
- if (virQEMUCapsProbeQMPGenericProps(qemuCaps,
- mon,
- virQEMUCapsDeviceProps,
- G_N_ELEMENTS(virQEMUCapsDeviceProps),
- qemuMonitorGetDeviceProps) < 0)
- return -1;
+ return 0;
+}
- if (virQEMUCapsGet(qemuCaps, QEMU_CAPS_QOM_LIST_PROPERTIES) &&
- virQEMUCapsProbeQMPGenericProps(qemuCaps,
- mon,
- virQEMUCapsObjectProps,
- G_N_ELEMENTS(virQEMUCapsObjectProps),
- qemuMonitorGetObjectProps) < 0)
- return -1;
- return 0;
+static int
+virQEMUCapsProbeQMPDeviceProperties(virQEMUCapsPtr qemuCaps,
+ qemuMonitorPtr mon)
+{
+ return virQEMUCapsProbeQMPGenericProps(qemuCaps,
+ mon,
+ virQEMUCapsDeviceProps,
+ G_N_ELEMENTS(virQEMUCapsDeviceProps),
+ qemuMonitorGetDeviceProps);
+}
+
+
+static int
+virQEMUCapsProbeQMPObjectProperties(virQEMUCapsPtr qemuCaps,
+ qemuMonitorPtr mon)
+{
+ if (!virQEMUCapsGet(qemuCaps, QEMU_CAPS_QOM_LIST_PROPERTIES))
+ return 0;
+
+ return virQEMUCapsProbeQMPGenericProps(qemuCaps,
+ mon,
+ virQEMUCapsObjectProps,
+ G_N_ELEMENTS(virQEMUCapsObjectProps),
+ qemuMonitorGetObjectProps);
}
if (virQEMUCapsProbeQMPEvents(qemuCaps, mon) < 0)
return -1;
- if (virQEMUCapsProbeQMPDevices(qemuCaps, mon) < 0)
+ if (virQEMUCapsProbeQMPObjectTypes(qemuCaps, mon) < 0)
+ return -1;
+ if (virQEMUCapsProbeQMPDeviceProperties(qemuCaps, mon) < 0)
+ return -1;
+ if (virQEMUCapsProbeQMPObjectProperties(qemuCaps, mon) < 0)
return -1;
if (virQEMUCapsProbeQMPMachineTypes(qemuCaps, type, mon) < 0)
return -1;