}
-/**
- * Returns 1 if @capability is supported, 0 if it's not, or -1 on error.
- */
-int
-qemuMonitorGetMigrationCapability(qemuMonitorPtr mon,
- qemuMonitorMigrationCaps capability)
-{
- VIR_DEBUG("capability=%d", capability);
-
- QEMU_CHECK_MONITOR(mon);
-
- /* No capability is supported without JSON monitor */
- if (!mon->json)
- return 0;
-
- return qemuMonitorJSONGetMigrationCapability(mon, capability);
-}
-
-
int
qemuMonitorSetMigrationCapability(qemuMonitorPtr mon,
qemuMonitorMigrationCaps capability,
int qemuMonitorGetMigrationCapabilities(qemuMonitorPtr mon,
char ***capabilities);
-int qemuMonitorGetMigrationCapability(qemuMonitorPtr mon,
- qemuMonitorMigrationCaps capability);
int qemuMonitorSetMigrationCapability(qemuMonitorPtr mon,
qemuMonitorMigrationCaps capability,
bool state);
}
-int
-qemuMonitorJSONGetMigrationCapability(qemuMonitorPtr mon,
- qemuMonitorMigrationCaps capability)
-{
- int ret;
- char **capsList = NULL;
- const char *cap = qemuMonitorMigrationCapsTypeToString(capability);
-
- if (qemuMonitorJSONGetMigrationCapabilities(mon, &capsList) < 0)
- return -1;
-
- ret = virStringListHasString((const char **) capsList, cap);
-
- virStringListFree(capsList);
- return ret;
-}
-
-
int
qemuMonitorJSONSetMigrationCapability(qemuMonitorPtr mon,
qemuMonitorMigrationCaps capability,
int qemuMonitorJSONGetMigrationCapabilities(qemuMonitorPtr mon,
char ***capabilities);
-int qemuMonitorJSONGetMigrationCapability(qemuMonitorPtr mon,
- qemuMonitorMigrationCaps capability);
int qemuMonitorJSONSetMigrationCapability(qemuMonitorPtr mon,
qemuMonitorMigrationCaps capability,
bool state);
virDomainXMLOptionPtr xmlopt = (virDomainXMLOptionPtr)data;
qemuMonitorTestPtr test = qemuMonitorTestNewSimple(true, xmlopt);
int ret = -1;
- int cap;
+ const char *cap;
+ char **caps = NULL;
const char *reply =
"{"
" \"return\": ["
"{\"return\":{}}") < 0)
goto cleanup;
- cap = qemuMonitorJSONGetMigrationCapability(qemuMonitorTestGetMonitor(test),
- QEMU_MONITOR_MIGRATION_CAPS_XBZRLE);
- if (cap != 1) {
+ if (qemuMonitorGetMigrationCapabilities(qemuMonitorTestGetMonitor(test),
+ &caps) < 0)
+ goto cleanup;
+
+ cap = qemuMonitorMigrationCapsTypeToString(QEMU_MONITOR_MIGRATION_CAPS_XBZRLE);
+ if (!virStringListHasString((const char **) caps, cap)) {
virReportError(VIR_ERR_INTERNAL_ERROR,
- "Unexpected capability: %d, expecting 1",
- cap);
+ "Expected capability %s is missing", cap);
goto cleanup;
}
ret = 0;
cleanup:
qemuMonitorTestFree(test);
+ virStringListFree(caps);
return ret;
}