aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2018-02-02 12:10:18 +0100
committerGerd Hoffmann <kraxel@redhat.com>2018-02-20 12:12:04 +0100
commit14f130fad872f7accef77925288d730ecadded5d (patch)
treeafb2357c233de7cd2086a96b43b17f3805fd64f4
parent0d2dd9f0096327831121e2e4b75249b551f8d8ef (diff)
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>
-rw-r--r--include/ui/console.h4
-rw-r--r--qapi/ui.json5
-rw-r--r--ui/curses.c2
-rw-r--r--vl.c4
4 files changed, 9 insertions, 6 deletions
diff --git a/include/ui/console.h b/include/ui/console.h
index 183d9f2913..65ed6ddca6 100644
--- a/include/ui/console.h
+++ b/include/ui/console.h
@@ -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");
diff --git a/qapi/ui.json b/qapi/ui.json
index 43de75fa27..11aad8b496 100644
--- a/qapi/ui.json
+++ b/qapi/ui.json
@@ -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' } }
diff --git a/ui/curses.c b/ui/curses.c
index 85503876c0..479b77bd03 100644
--- a/ui/curses.c
+++ b/ui/curses.c
@@ -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)) {
diff --git a/vl.c b/vl.c
index 38c18ef2e6..3752ebec49 100644
--- a/vl.c
+++ b/vl.c
@@ -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);