[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 15/20] monitor: add qmp_return_get_monitor()
From: |
Marc-André Lureau |
Subject: |
[Qemu-devel] [PATCH v5 15/20] monitor: add qmp_return_get_monitor() |
Date: |
Mon, 15 Jul 2019 23:09:56 +0400 |
If necessary, add an helper that can be used to retrieve the
associated monitor. This is useful for asynchronous commands that may
have to update cur_mon for various reasons.
Signed-off-by: Marc-André Lureau <address@hidden>
---
include/monitor/monitor.h | 3 +++
monitor/qmp.c | 11 +++++++++++
2 files changed, 14 insertions(+)
diff --git a/include/monitor/monitor.h b/include/monitor/monitor.h
index a81eeff5f8..6a2907a366 100644
--- a/include/monitor/monitor.h
+++ b/include/monitor/monitor.h
@@ -4,6 +4,7 @@
#include "block/block.h"
#include "qapi/qapi-types-misc.h"
#include "qemu/readline.h"
+#include "qapi/qmp/dispatch.h"
extern __thread Monitor *cur_mon;
typedef struct MonitorHMP MonitorHMP;
@@ -43,4 +44,6 @@ int monitor_fdset_dup_fd_add(int64_t fdset_id, int dup_fd);
void monitor_fdset_dup_fd_remove(int dup_fd);
int64_t monitor_fdset_dup_fd_find(int dup_fd);
+Monitor *qmp_return_get_monitor(QmpReturn *qret);
+
#endif /* MONITOR_H */
diff --git a/monitor/qmp.c b/monitor/qmp.c
index 056ad7b68b..df8b9d8d4f 100644
--- a/monitor/qmp.c
+++ b/monitor/qmp.c
@@ -390,3 +390,14 @@ void monitor_init_qmp(Chardev *chr, bool pretty)
monitor_list_append(&mon->common);
}
}
+
+Monitor *qmp_return_get_monitor(QmpReturn *qret)
+{
+ MonitorQMP *mon;
+
+ if (!qret->session) {
+ return NULL;
+ }
+ mon = container_of(qret->session, MonitorQMP, session);
+ return &mon->common;
+}
--
2.22.0.428.g6d5b264208
- [Qemu-devel] [PATCH v5 05/20] QmpSession: add json parser and use it in qga, (continued)
- [Qemu-devel] [PATCH v5 05/20] QmpSession: add json parser and use it in qga, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 06/20] monitor: use qmp session to parse json feed, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 07/20] qga: simplify dispatch_return_cb, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 08/20] QmpSession: introduce QmpReturn, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 09/20] qmp: simplify qmp_return_error(), Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 10/20] QmpSession: keep a queue of pending commands, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 11/20] QmpSession: return orderly, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 12/20] qmp: introduce asynchronous command type, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 13/20] scripts: learn 'async' qapi commands, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 14/20] qmp: add qmp_return_is_cancelled(), Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 15/20] monitor: add qmp_return_get_monitor(),
Marc-André Lureau <=
- [Qemu-devel] [PATCH v5 16/20] console: add graphic_hw_update_done(), Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 17/20] console: make screendump asynchronous, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 18/20] monitor: start making qmp_human_monitor_command() asynchronous, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 19/20] monitor: teach HMP about asynchronous commands, Marc-André Lureau, 2019/07/15
- [Qemu-devel] [PATCH v5 20/20] hmp: call the asynchronous QMP screendump to fix outdated/glitches, Marc-André Lureau, 2019/07/15