ui/console: introduce different console objects
Boilerplate code to introduce different object types for the different console types. Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Message-Id: <20230830093843.3531473-20-marcandre.lureau@redhat.com>
This commit is contained in:
parent
098d57e7c0
commit
b208f745a8
84
ui/console.c
84
ui/console.c
@ -128,6 +128,45 @@ struct QemuConsole {
|
|||||||
|
|
||||||
OBJECT_DEFINE_TYPE(QemuConsole, qemu_console, QEMU_CONSOLE, OBJECT)
|
OBJECT_DEFINE_TYPE(QemuConsole, qemu_console, QEMU_CONSOLE, OBJECT)
|
||||||
|
|
||||||
|
typedef struct QemuGraphicConsole {
|
||||||
|
QemuConsole parent;
|
||||||
|
} QemuGraphicConsole;
|
||||||
|
|
||||||
|
typedef QemuConsoleClass QemuGraphicConsoleClass;
|
||||||
|
|
||||||
|
#define TYPE_QEMU_GRAPHIC_CONSOLE "qemu-graphic-console"
|
||||||
|
OBJECT_DECLARE_SIMPLE_TYPE(QemuGraphicConsole, QEMU_GRAPHIC_CONSOLE)
|
||||||
|
OBJECT_DEFINE_TYPE(QemuGraphicConsole, qemu_graphic_console, QEMU_GRAPHIC_CONSOLE, QEMU_CONSOLE)
|
||||||
|
|
||||||
|
#define QEMU_IS_GRAPHIC_CONSOLE(c) \
|
||||||
|
object_dynamic_cast(OBJECT(c), TYPE_QEMU_GRAPHIC_CONSOLE)
|
||||||
|
|
||||||
|
typedef struct QemuTextConsole {
|
||||||
|
QemuConsole parent;
|
||||||
|
} QemuTextConsole;
|
||||||
|
|
||||||
|
typedef QemuConsoleClass QemuTextConsoleClass;
|
||||||
|
|
||||||
|
#define TYPE_QEMU_TEXT_CONSOLE "qemu-text-console"
|
||||||
|
OBJECT_DECLARE_SIMPLE_TYPE(QemuTextConsole, QEMU_TEXT_CONSOLE)
|
||||||
|
OBJECT_DEFINE_TYPE(QemuTextConsole, qemu_text_console, QEMU_TEXT_CONSOLE, QEMU_CONSOLE)
|
||||||
|
|
||||||
|
#define QEMU_IS_TEXT_CONSOLE(c) \
|
||||||
|
object_dynamic_cast(OBJECT(c), TYPE_QEMU_TEXT_CONSOLE)
|
||||||
|
|
||||||
|
typedef struct QemuFixedTextConsole {
|
||||||
|
QemuTextConsole parent;
|
||||||
|
} QemuFixedTextConsole;
|
||||||
|
|
||||||
|
typedef QemuTextConsoleClass QemuFixedTextConsoleClass;
|
||||||
|
|
||||||
|
#define TYPE_QEMU_FIXED_TEXT_CONSOLE "qemu-fixed-text-console"
|
||||||
|
OBJECT_DECLARE_SIMPLE_TYPE(QemuFixedTextConsole, QEMU_FIXED_TEXT_CONSOLE)
|
||||||
|
OBJECT_DEFINE_TYPE(QemuFixedTextConsole, qemu_fixed_text_console, QEMU_FIXED_TEXT_CONSOLE, QEMU_TEXT_CONSOLE)
|
||||||
|
|
||||||
|
#define QEMU_IS_FIXED_TEXT_CONSOLE(c) \
|
||||||
|
object_dynamic_cast(OBJECT(c), TYPE_QEMU_FIXED_TEXT_CONSOLE)
|
||||||
|
|
||||||
struct VCChardev {
|
struct VCChardev {
|
||||||
Chardev parent;
|
Chardev parent;
|
||||||
QemuConsole *console;
|
QemuConsole *console;
|
||||||
@ -1338,6 +1377,51 @@ qemu_console_init(Object *obj)
|
|||||||
c->window_id = -1;
|
c->window_id = -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_graphic_console_finalize(Object *obj)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_graphic_console_class_init(ObjectClass *oc, void *data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_graphic_console_init(Object *obj)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_text_console_finalize(Object *obj)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_text_console_class_init(ObjectClass *oc, void *data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_text_console_init(Object *obj)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_fixed_text_console_finalize(Object *obj)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_fixed_text_console_class_init(ObjectClass *oc, void *data)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemu_fixed_text_console_init(Object *obj)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static QemuConsole *new_console(console_type_t console_type,
|
static QemuConsole *new_console(console_type_t console_type,
|
||||||
uint32_t head)
|
uint32_t head)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user