curses: use DisplayOptions

Switch curses ui to use qapi DisplayOptions for configuration.

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Message-id: 20180202111022.19269-9-kraxel@redhat.com
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
This commit is contained in:
Gerd Hoffmann 2018-02-02 12:10:18 +01:00
parent 0d2dd9f009
commit 14f130fad8
4 changed files with 9 additions and 6 deletions

View File

@ -471,9 +471,9 @@ int vnc_init_func(void *opaque, QemuOpts *opts, Error **errp);
/* curses.c */
#ifdef CONFIG_CURSES
void curses_display_init(DisplayState *ds, int full_screen);
void curses_display_init(DisplayState *ds, DisplayOptions *opts);
#else
static inline void curses_display_init(DisplayState *ds, int full_screen)
static inline void curses_display_init(DisplayState *ds, DisplayOptions *opts)
{
/* This must never be called if CONFIG_CURSES is disabled */
error_report("curses support is disabled");

View File

@ -1020,7 +1020,7 @@
#
##
{ 'enum' : 'DisplayType',
'data' : [ 'none', 'gtk', 'sdl', 'egl-headless' ] }
'data' : [ 'none', 'gtk', 'sdl', 'egl-headless', 'curses' ] }
##
# @DisplayOptions:
@ -1044,4 +1044,5 @@
'data' : { 'none' : 'DisplayNoOpts',
'gtk' : 'DisplayGTK',
'sdl' : 'DisplayNoOpts',
'egl-headless' : 'DisplayNoOpts' } }
'egl-headless' : 'DisplayNoOpts',
'curses' : 'DisplayNoOpts' } }

View File

@ -434,7 +434,7 @@ static const DisplayChangeListenerOps dcl_ops = {
.dpy_text_cursor = curses_cursor_position,
};
void curses_display_init(DisplayState *ds, int full_screen)
void curses_display_init(DisplayState *ds, DisplayOptions *opts)
{
#ifndef _WIN32
if (!isatty(1)) {

4
vl.c
View File

@ -2186,6 +2186,7 @@ static LegacyDisplayType select_display(const char *p)
} else if (strstart(p, "curses", &opts)) {
#ifdef CONFIG_CURSES
display = DT_CURSES;
dpy.type = DISPLAY_TYPE_CURSES;
#else
error_report("curses support is disabled");
exit(1);
@ -3268,6 +3269,7 @@ int main(int argc, char **argv, char **envp)
case QEMU_OPTION_curses:
#ifdef CONFIG_CURSES
display_type = DT_CURSES;
dpy.type = DISPLAY_TYPE_CURSES;
#else
error_report("curses support is disabled");
exit(1);
@ -4697,7 +4699,7 @@ int main(int argc, char **argv, char **envp)
/* init local displays */
switch (display_type) {
case DT_CURSES:
curses_display_init(ds, full_screen);
curses_display_init(ds, &dpy);
break;
case DT_SDL:
sdl_display_init(ds, &dpy);