summaryrefslogtreecommitdiffstats
path: root/src/procedures.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/procedures.h')
-rw-r--r--src/procedures.h26
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);