X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=blobdiff_plain;f=ui%2Fncurses%2Fnc-cui.h;h=24a0761a65e39f89784a681ad9f8e4c6f492afe9;hp=a4ac2e885a4341b2674b3838a6a5abe80786e2ad;hb=f0ab23af1b0758b6ff984ba26a2cd7dbf25ea775;hpb=604a1ccf072f9f33326fb6dc919c1b6233d40866 diff --git a/ui/ncurses/nc-cui.h b/ui/ncurses/nc-cui.h index a4ac2e8..24a0761 100644 --- a/ui/ncurses/nc-cui.h +++ b/ui/ncurses/nc-cui.h @@ -22,13 +22,12 @@ #include #include "ui/common/joystick.h" -#include "ui/common/timer.h" #include "nc-menu.h" -#include "nc-ked.h" +#include "nc-helpscreen.h" struct cui_opt_data { const char *name; - struct pb_kexec_data *kd; + struct pb_boot_data *bd; /* optional data */ const struct device *dev; @@ -49,23 +48,46 @@ struct cui_opt_data { struct cui { enum pb_nc_sig c_sig; + bool has_input; sig_atomic_t abort; sig_atomic_t resize; struct nc_scr *current; struct pmenu *main; - struct ui_timer timer; + struct waitset *waitset; + struct discover_client *client; + struct system_info *sysinfo; + struct sysinfo_screen *sysinfo_screen; + struct config *config; + struct config_screen *config_screen; + struct add_url_screen *add_url_screen; + struct boot_editor *boot_editor; + struct lang_screen *lang_screen; + struct help_screen *help_screen; + struct subset_screen *subset_screen; struct pjs *pjs; void *platform_info; unsigned int default_item; - int (*on_kexec)(struct cui *cui, struct cui_opt_data *cod); + int (*on_boot)(struct cui *cui, struct cui_opt_data *cod); }; struct cui *cui_init(void* platform_info, - int (*on_kexec)(struct cui *, struct cui_opt_data *), - int (*js_map)(const struct js_event *e), int start_deamon); + int (*js_map)(const struct js_event *e), + int start_deamon); struct nc_scr *cui_set_current(struct cui *cui, struct nc_scr *scr); -int cui_run(struct cui *cui, struct pmenu *main, unsigned int default_item); -int cui_ked_run(struct pmenu_item *item); +int cui_run(struct cui *cui); +void cui_item_edit(struct pmenu_item *item); +void cui_item_new(struct pmenu *menu); +void cui_show_sysinfo(struct cui *cui); +void cui_show_config(struct cui *cui); +void cui_show_lang(struct cui *cui); +void cui_show_help(struct cui *cui, const char *title, + const struct help_text *text); +void cui_show_subset(struct cui *cui, const char *title, + void *arg); +void cui_show_add_url(struct cui *cui); +int cui_send_config(struct cui *cui, struct config *config); +int cui_send_url(struct cui *cui, char *url); +void cui_send_reinit(struct cui *cui); /* convenience routines */ @@ -93,15 +115,4 @@ static inline struct cui *cui_from_item(struct pmenu_item *item) return cui_from_pmenu(item->pmenu); } -static inline struct cui *cui_from_timer(struct ui_timer *timer) -{ - struct cui *cui; - - cui = (struct cui *)((char *)timer - - (size_t)&((struct cui *)0)->timer); - assert(cui->c_sig == pb_cui_sig); - - return cui; -} - #endif