提交 d81cf424 编写于 作者: M Michal Privoznik

qemu_monitor: Introduce qemuMonitorGetObjectProps

Now that we've gotten rid of misleading names we can introduce
qemuMonitorGetObjectProps() function which queries -object
properties. Again, some parts of code can be reused.
Signed-off-by: NMichal Privoznik <mprivozn@redhat.com>
Reviewed-by: NJán Tomko <jtomko@redhat.com>
上级 03612020
...@@ -3932,6 +3932,19 @@ qemuMonitorGetDeviceProps(qemuMonitorPtr mon, ...@@ -3932,6 +3932,19 @@ qemuMonitorGetDeviceProps(qemuMonitorPtr mon,
} }
int
qemuMonitorGetObjectProps(qemuMonitorPtr mon,
const char *object,
char ***props)
{
VIR_DEBUG("object=%s props=%p", object, props);
QEMU_CHECK_MONITOR_JSON(mon);
return qemuMonitorJSONGetObjectProps(mon, object, props);
}
char * char *
qemuMonitorGetTargetArch(qemuMonitorPtr mon) qemuMonitorGetTargetArch(qemuMonitorPtr mon)
{ {
......
...@@ -1048,6 +1048,9 @@ int qemuMonitorGetObjectTypes(qemuMonitorPtr mon, ...@@ -1048,6 +1048,9 @@ int qemuMonitorGetObjectTypes(qemuMonitorPtr mon,
int qemuMonitorGetDeviceProps(qemuMonitorPtr mon, int qemuMonitorGetDeviceProps(qemuMonitorPtr mon,
const char *device, const char *device,
char ***props); char ***props);
int qemuMonitorGetObjectProps(qemuMonitorPtr mon,
const char *object,
char ***props);
char *qemuMonitorGetTargetArch(qemuMonitorPtr mon); char *qemuMonitorGetTargetArch(qemuMonitorPtr mon);
int qemuMonitorNBDServerStart(qemuMonitorPtr mon, int qemuMonitorNBDServerStart(qemuMonitorPtr mon,
......
...@@ -6127,6 +6127,38 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, ...@@ -6127,6 +6127,38 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon,
} }
int
qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon,
const char *object,
char ***props)
{
int ret = -1;
virJSONValuePtr cmd;
virJSONValuePtr reply = NULL;
*props = NULL;
if (!(cmd = qemuMonitorJSONMakeCommand("qom-list-properties",
"s:typename", object,
NULL)))
return -1;
if (qemuMonitorJSONCommand(mon, cmd, &reply) < 0)
goto cleanup;
if (qemuMonitorJSONHasError(reply, "DeviceNotFound")) {
ret = 0;
goto cleanup;
}
ret = qemuMonitorJSONParsePropsList(cmd, reply, props);
cleanup:
virJSONValueFree(reply);
virJSONValueFree(cmd);
return ret;
}
char * char *
qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon) qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon)
{ {
......
...@@ -445,6 +445,10 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon, ...@@ -445,6 +445,10 @@ int qemuMonitorJSONGetDeviceProps(qemuMonitorPtr mon,
const char *device, const char *device,
char ***props) char ***props)
ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3); ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
int qemuMonitorJSONGetObjectProps(qemuMonitorPtr mon,
const char *object,
char ***props)
ATTRIBUTE_NONNULL(2) ATTRIBUTE_NONNULL(3);
char *qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon); char *qemuMonitorJSONGetTargetArch(qemuMonitorPtr mon);
int qemuMonitorJSONNBDServerStart(qemuMonitorPtr mon, int qemuMonitorJSONNBDServerStart(qemuMonitorPtr mon,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册