Skip to content

Commit

Permalink
input: move qmp_query_mice to new core
Browse files Browse the repository at this point in the history
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
  • Loading branch information
kraxel committed Mar 5, 2014
1 parent a8dfb1c commit e842c68
Show file tree
Hide file tree
Showing 2 changed files with 29 additions and 23 deletions.
23 changes: 0 additions & 23 deletions ui/input-legacy.c
Expand Up @@ -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;
Expand Down
29 changes: 29 additions & 0 deletions 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"
Expand Down Expand Up @@ -305,3 +306,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;
}

0 comments on commit e842c68

Please sign in to comment.