console: add qemu_console_lookup_by_device

Look up the QemuConsole for a given device, using the new link.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gerd Hoffmann 2013-04-18 07:30:40 +02:00 committed by Anthony Liguori
parent aa2beaa1f5
commit 14a936490b
2 changed files with 20 additions and 0 deletions

View file

@ -287,6 +287,7 @@ void graphic_hw_invalidate(QemuConsole *con);
void graphic_hw_text_update(QemuConsole *con, console_ch_t *chardata);
QemuConsole *qemu_console_lookup_by_index(unsigned int index);
QemuConsole *qemu_console_lookup_by_device(DeviceState *dev);
bool qemu_console_is_visible(QemuConsole *con);
bool qemu_console_is_graphic(QemuConsole *con);
bool qemu_console_is_fixedsize(QemuConsole *con);

View file

@ -1596,6 +1596,25 @@ QemuConsole *qemu_console_lookup_by_index(unsigned int index)
return consoles[index];
}
QemuConsole *qemu_console_lookup_by_device(DeviceState *dev)
{
Error *local_err = NULL;
Object *obj;
int i;
for (i = 0; i < nb_consoles; i++) {
if (!consoles[i]) {
continue;
}
obj = object_property_get_link(OBJECT(consoles[i]),
"device", &local_err);
if (DEVICE(obj) == dev) {
return consoles[i];
}
}
return NULL;
}
bool qemu_console_is_visible(QemuConsole *con)
{
return (con == active_console) || (con->dcls > 0);