summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
31ae49c)
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>
/* Re-attach the items array. */
set_menu_items(menu->ncm, menu->items);
/* 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;
}
} else {
cod = item->data;
}
assert(cui->current != scr);
old = cui->current;
assert(cui->current != scr);
old = cui->current;
- cui->current->post(cui->current);
+
+ nc_scr_post(cui->current);
selected = current_item(cui->main->ncm);
if (cui->current == &cui->main->scr)
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. */
/* This disconnects items array from menu. */
set_current_item(cui->main->ncm, selected);
if (cui->current == &cui->main->scr)
set_current_item(cui->main->ncm, selected);
if (cui->current == &cui->main->scr)
- cui->current->post(cui->current);
+ nc_scr_post(cui->current);
pb_log("%s: %p %s\n", __func__, dev, dev->id);
if (cui->current == &cui->main->scr)
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. */
/* This disconnects items array from menu. */
}
if (cui->current == &cui->main->scr)
}
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)
}
static void cui_update_status(struct boot_status *status, void *arg)
" %s", cui->sysinfo->identifier);
if (cui->current == &cui->main->scr)
" %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)
}
static void cui_update_sysinfo(struct system_info *sysinfo, void *arg)
cui->current = &cui->main->scr;
cui->default_item = 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);
while (1) {
int result = waiter_poll(cui->waitset);
set_item_userptr(nci, i);
set_item_userptr(nci, i);
- menu->scr.unpost(&menu->scr);
+ nc_scr_unpost(&menu->scr);
set_menu_items(menu->ncm, NULL);
// FIXME: need to assure item name is a talloc string.
set_menu_items(menu->ncm, NULL);
// FIXME: need to assure item name is a talloc string.
i->nci = nci;
set_menu_items(menu->ncm, menu->items);
i->nci = nci;
set_menu_items(menu->ncm, menu->items);
- menu->scr.post(&menu->scr);
+ nc_scr_post(&menu->scr);
+int nc_scr_post(struct nc_scr *scr)
+{
+ if (scr->post)
+ return scr->post(scr);
+ return 0;
+}
+
+int nc_scr_unpost(struct nc_scr *scr)
+{
+ if (scr->unpost)
+ return scr->unpost(scr);
+ return 0;
+}
+
void nc_scr_frame_draw(struct nc_scr *scr)
{
int ltitle_len, rtitle_len;
void nc_scr_frame_draw(struct nc_scr *scr)
{
int ltitle_len, rtitle_len;
void nc_scr_status_printf(struct nc_scr *scr, const char *format, ...);
void nc_scr_frame_draw(struct nc_scr *scr);
void nc_scr_status_printf(struct nc_scr *scr, const char *format, ...);
void nc_scr_frame_draw(struct nc_scr *scr);
+int nc_scr_post(struct nc_scr *src);
+int nc_scr_unpost(struct nc_scr *src);
+