From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:58530) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsVkA-0001F8-Jc for qemu-devel@nongnu.org; Mon, 16 Dec 2013 05:50:02 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1VsVjw-0000vT-MT for qemu-devel@nongnu.org; Mon, 16 Dec 2013 05:49:46 -0500 Received: from mx1.redhat.com ([209.132.183.28]:19390) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1VsVjw-0000vD-Dy for qemu-devel@nongnu.org; Mon, 16 Dec 2013 05:49:32 -0500 From: Gerd Hoffmann Date: Mon, 16 Dec 2013 11:49:16 +0100 Message-Id: <1387190958-19470-41-git-send-email-kraxel@redhat.com> In-Reply-To: <1387190958-19470-1-git-send-email-kraxel@redhat.com> References: <1387190958-19470-1-git-send-email-kraxel@redhat.com> Subject: [Qemu-devel] [PATCH 40/42] input: move qmp_query_mice to new core List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Gerd Hoffmann , Anthony Liguori Signed-off-by: Gerd Hoffmann --- ui/input-legacy.c | 23 ----------------------- ui/input.c | 29 +++++++++++++++++++++++++++++ 2 files changed, 29 insertions(+), 23 deletions(-) diff --git a/ui/input-legacy.c b/ui/input-legacy.c index 7f8e72b..7843482 100644 --- a/ui/input-legacy.c +++ b/ui/input-legacy.c @@ -483,29 +483,6 @@ void kbd_put_ledstate(int ledstate) } } -MouseInfoList *qmp_query_mice(Error **errp) -{ - MouseInfoList *mice_list = NULL; - QEMUPutMouseEntry *cursor; - bool current = true; - - QTAILQ_FOREACH(cursor, &mouse_handlers, node) { - MouseInfoList *info = g_malloc0(sizeof(*info)); - info->value = g_malloc0(sizeof(*info->value)); - info->value->name = g_strdup(cursor->qemu_put_mouse_event_name); - info->value->index = cursor->index; - info->value->absolute = !!cursor->qemu_put_mouse_event_absolute; - info->value->current = current; - - current = false; - - info->next = mice_list; - mice_list = info; - } - - return mice_list; -} - void do_mouse_set(Monitor *mon, const QDict *qdict) { QEMUPutMouseEntry *cursor; diff --git a/ui/input.c b/ui/input.c index 55449dc..2945a3c 100644 --- a/ui/input.c +++ b/ui/input.c @@ -1,5 +1,6 @@ #include "sysemu/sysemu.h" #include "qapi-types.h" +#include "qmp-commands.h" #include "trace.h" #include "ui/input.h" #include "ui/console.h" @@ -307,3 +308,31 @@ void qemu_remove_mouse_mode_change_notifier(Notifier *notify) { notifier_remove(notify); } + +MouseInfoList *qmp_query_mice(Error **errp) +{ + MouseInfoList *mice_list = NULL; + MouseInfoList *info; + QemuInputHandlerState *s; + bool current = true; + + QTAILQ_FOREACH(s, &handlers, node) { + if (!(s->handler->mask & + (INPUT_EVENT_MASK_REL | INPUT_EVENT_MASK_ABS))) { + continue; + } + + info = g_new0(MouseInfoList, 1); + info->value = g_new0(MouseInfo, 1); + info->value->index = s->id; + info->value->name = g_strdup(s->handler->name); + info->value->absolute = s->handler->mask & INPUT_EVENT_MASK_ABS; + info->value->current = current; + + current = false; + info->next = mice_list; + mice_list = info; + } + + return mice_list; +} -- 1.8.3.1