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:
parent
aa2beaa1f5
commit
14a936490b
@ -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);
|
||||
|
19
ui/console.c
19
ui/console.c
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user