}
+int
+qemuMonitorJobFinalize(qemuMonitor *mon,
+ const char *jobname)
+{
+ VIR_DEBUG("jobname=%s", jobname);
+
+ QEMU_CHECK_MONITOR(mon);
+
+ return qemuMonitorJSONJobFinalize(mon, jobname);
+}
+
+
int
qemuMonitorJobComplete(qemuMonitor *mon,
const char *jobname)
const char *jobname)
ATTRIBUTE_NONNULL(2);
+int
+qemuMonitorJobFinalize(qemuMonitor *mon,
+ const char *jobname)
+ ATTRIBUTE_NONNULL(2);
+
int qemuMonitorJobComplete(qemuMonitor *mon,
const char *jobname)
ATTRIBUTE_NONNULL(2);
}
+int
+qemuMonitorJSONJobFinalize(qemuMonitor *mon,
+ const char *jobname)
+{
+ g_autoptr(virJSONValue) cmd = NULL;
+ g_autoptr(virJSONValue) reply = NULL;
+
+ if (!(cmd = qemuMonitorJSONMakeCommand("job-finalize",
+ "s:id", jobname,
+ NULL)))
+ return -1;
+
+ if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
+ return -1;
+
+ if (qemuMonitorJSONBlockJobError(cmd, reply, jobname) < 0)
+ return -1;
+
+ return 0;
+}
+
+
int
qemuMonitorJSONJobComplete(qemuMonitor *mon,
const char *jobname)
const char *jobname)
ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+int
+qemuMonitorJSONJobFinalize(qemuMonitor *mon,
+ const char *jobname)
+ ATTRIBUTE_NONNULL(1) ATTRIBUTE_NONNULL(2);
+
int
qemuMonitorJSONJobComplete(qemuMonitor *mon,
const char *jobname)
GEN_TEST_FUNC(qemuMonitorJSONBitmapRemove, "foodev", "newnode")
GEN_TEST_FUNC(qemuMonitorJSONJobDismiss, "jobname")
GEN_TEST_FUNC(qemuMonitorJSONJobComplete, "jobname")
+GEN_TEST_FUNC(qemuMonitorJSONJobFinalize, "jobname")
GEN_TEST_FUNC(qemuMonitorJSONBlockJobCancel, "jobname", true)
GEN_TEST_FUNC(qemuMonitorJSONSetAction,
QEMU_MONITOR_ACTION_SHUTDOWN_PAUSE,
DO_TEST_GEN(qemuMonitorJSONBitmapRemove);
DO_TEST_GEN(qemuMonitorJSONJobDismiss);
DO_TEST_GEN(qemuMonitorJSONJobComplete);
+ DO_TEST_GEN(qemuMonitorJSONJobFinalize);
DO_TEST_GEN(qemuMonitorJSONBlockJobCancel);
DO_TEST_GEN(qemuMonitorJSONSetAction);
DO_TEST_GEN(qemuMonitorJSONSetLaunchSecurityState);