summaryrefslogtreecommitdiffstats
path: root/ui/ncurses/nc-cui.c
diff options
context:
space:
mode:
authorJeremy Kerr <jk@ozlabs.org>2013-10-16 11:30:29 +0800
committerJeremy Kerr <jk@ozlabs.org>2013-11-13 17:31:04 +0800
commitd57d1c9c4cd7365063da7aa1f018736166bb3a50 (patch)
tree71581953001d5bc44203fe3d4d03eac4c7a42b9c /ui/ncurses/nc-cui.c
parent31ae49c6bfaa3cd65969bff7448be0f6385a6255 (diff)
downloadpetitboot-d57d1c9c4cd7365063da7aa1f018736166bb3a50.zip
petitboot-d57d1c9c4cd7365063da7aa1f018736166bb3a50.tar.gz
ui/ncurses: Add nc_scr_{un,}post()
We may have nc_scrs that aren't interested in post/unpost information, so create helper functions that allow a NULL callback. Signed-off-by: Jeremy Kerr <jk@ozlabs.org>
Diffstat (limited to 'ui/ncurses/nc-cui.c')
-rw-r--r--ui/ncurses/nc-cui.c19
1 files changed, 10 insertions, 9 deletions
diff --git a/ui/ncurses/nc-cui.c b/ui/ncurses/nc-cui.c
index adbb3d6..b734cdc 100644
--- a/ui/ncurses/nc-cui.c
+++ b/ui/ncurses/nc-cui.c
@@ -201,7 +201,7 @@ static void cui_boot_editor_on_exit(struct boot_editor *boot_editor,
/* Re-attach the items array. */
set_menu_items(menu->ncm, menu->items);
- menu->scr.post(&menu->scr);
+ nc_scr_post(&menu->scr);
} else {
cod = item->data;
}
@@ -249,10 +249,11 @@ struct nc_scr *cui_set_current(struct cui *cui, struct nc_scr *scr)
assert(cui->current != scr);
old = cui->current;
- old->unpost(old);
+ nc_scr_unpost(old);
cui->current = scr;
- cui->current->post(cui->current);
+
+ nc_scr_post(cui->current);
return old;
}
@@ -365,7 +366,7 @@ static int cui_boot_option_add(struct device *dev, struct boot_option *opt,
selected = current_item(cui->main->ncm);
if (cui->current == &cui->main->scr)
- cui->current->unpost(cui->current);
+ nc_scr_unpost(cui->current);
/* This disconnects items array from menu. */
@@ -421,7 +422,7 @@ static int cui_boot_option_add(struct device *dev, struct boot_option *opt,
set_current_item(cui->main->ncm, selected);
if (cui->current == &cui->main->scr)
- cui->current->post(cui->current);
+ nc_scr_post(cui->current);
return 0;
}
@@ -442,7 +443,7 @@ static void cui_device_remove(struct device *dev, void *arg)
pb_log("%s: %p %s\n", __func__, dev, dev->id);
if (cui->current == &cui->main->scr)
- cui->current->unpost(cui->current);
+ nc_scr_unpost(cui->current);
/* This disconnects items array from menu. */
@@ -472,7 +473,7 @@ static void cui_device_remove(struct device *dev, void *arg)
}
if (cui->current == &cui->main->scr)
- cui->current->post(cui->current);
+ nc_scr_post(cui->current);
}
static void cui_update_status(struct boot_status *status, void *arg)
@@ -498,7 +499,7 @@ static void cui_update_mm_title(struct cui *cui)
" %s", cui->sysinfo->identifier);
if (cui->current == &cui->main->scr)
- cui->current->post(cui->current);
+ nc_scr_post(cui->current);
}
static void cui_update_sysinfo(struct system_info *sysinfo, void *arg)
@@ -628,7 +629,7 @@ int cui_run(struct cui *cui, struct pmenu *main, unsigned int default_item)
cui->current = &cui->main->scr;
cui->default_item = default_item;
- cui->current->post(cui->current);
+ nc_scr_post(cui->current);
while (1) {
int result = waiter_poll(cui->waitset);
OpenPOWER on IntegriCloud