diff options
Diffstat (limited to 'src/procedures.h')
-rw-r--r-- | src/procedures.h | 26 |
1 files changed, 19 insertions, 7 deletions
diff --git a/src/procedures.h b/src/procedures.h index 44d1498..4f6f48a 100644 --- a/src/procedures.h +++ b/src/procedures.h @@ -49,8 +49,8 @@ enum procedure_status { PROC_FINISHED, }; -enum procedure_key { - PROC_NONE, +enum procedure_key { /* XXX this will cause problems and has to change */ + PROC_NONE = 0, PROC_BED_MOVE, PROC_BED_HEATUP, PROC_HOTEND_HEATUP_0, @@ -75,6 +75,9 @@ enum procedure_key { PROC_CURRENT_E, PROC_PRINT, PROC_FIRMWARE_UPDATE, + PROC_MATERIAL_UNLOAD, + PROC_MATERIAL_LOAD, + PROC_MATERIAL_CHANGE, PROC_LAST, /* sentinel */ }; @@ -117,8 +120,9 @@ struct procedure_msg { enum meta_type { PROC_META_NONE, - PROC_META_PRINT, - PROC_META_DIAL, + PROC_META_PROGRESS, + PROC_META_SLIDER, + PROC_META_SPINNER, }; struct poll_data { @@ -127,14 +131,21 @@ struct poll_data { int event; }; +struct meta_data { + enum meta_type type; + void *data; +}; + struct procedure_data { const char *key; enum procedure_status status; + Eina_Bool wizard; const char *sig; const char *para; /* TODO va_list to go with sig? */ Eina_Bool available; Eina_Bool executable; void (*parser)(void *data, const void *key, Eldbus_Message_Iter *variant); + enum meta_type type; void *meta; /* TODO every proc. has meta data, some needs to be periodically updated (print_data), others on signal changes. needs enum guard to identify which meta we have. */ const struct procedure_msg *msgs; const struct procedure_step *_steps; /* TODO optional? maybe we don't even have to know the list */ @@ -148,7 +159,7 @@ struct procedure_data *procedures_init(Eldbus_Proxy *proxy); void procedure_meta_getall(void); struct procedure_data *procedure_get(const char *key); const struct procedure_step *procedure_step_get(const struct procedure_data *proc, const char *key); -void procedure_process_step(struct eulogium_data *eulogium, struct procedure_data *procedure); +void procedure_process_step(struct procedure_data *procedure, struct eulogium_data *eulogium); Eldbus_Pending *procedure_message(const struct procedure_data *proc, const struct procedure_msg *msg); struct print_data; /* XXX only here until print_start gets simplified */ @@ -156,8 +167,9 @@ Eldbus_Pending *procedure_print_start(const struct print_data *print); Eldbus_Pending *procedure_print_printer_cleaned(void); Eldbus_Pending *procedure_print_progress_get(struct procedure_data *procedure); -void *procedure_meta_get(struct procedure_data *procedure); -void procedure_meta_set(struct procedure_data *procedure, void *data); +void *procedure_meta_data_get(struct procedure_data *procedure); +enum meta_type procedure_meta_type_get(struct procedure_data *procedure); +void procedure_meta_set(struct procedure_data *procedure, enum meta_type type, void *data); Eldbus_Pending *procedure_start_simple(const enum procedure_key proc_key); Eldbus_Pending *procedure_metadata_get(const struct procedure_data *procedure); |