diff options
Diffstat (limited to 'src/procedures.c')
-rw-r--r-- | src/procedures.c | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/src/procedures.c b/src/procedures.c new file mode 100644 index 0000000..cd05d0f --- /dev/null +++ b/src/procedures.c @@ -0,0 +1,66 @@ +/* + * eulogium_procedures, available procedures + * + * Copyright (c) 2015 Ultimaker B.V. + * Author: Olliver Schinagl <o.schinagl@ultimaker.com> + * + * SPDX-License-Identifier: AGPL-3.0+ + */ + +#include <Eina.h> +#include <Eldbus.h> +#include <stdint.h> + +#include "procedures.h" + +#include "print_data.h" + +#define _PROC_PRINT "PRINT" +#define _PROC_HEATUP_HOTEND "HEATUP_HOTEND" +#define _PROC_POST_PRINT "POST_PRINT" +#define _PROC_PRE_PRINT_SETUP "PRE_PRINT_SETUP" + +static struct procedure_data procedures[] = { + { + .key = _PROC_PRINT, + .keylen = sizeof(_PROC_PRINT), + .executable = EINA_FALSE, + .available = EINA_FALSE, + }, { + .key = _PROC_HEATUP_HOTEND, + .keylen = sizeof(_PROC_HEATUP_HOTEND), + .executable = EINA_FALSE, + .available = EINA_FALSE, + }, { + .key = _PROC_POST_PRINT, + .keylen = sizeof(_PROC_POST_PRINT), + .executable = EINA_FALSE, + .available = EINA_FALSE, + }, { + .key = _PROC_PRE_PRINT_SETUP, + .keylen = sizeof(_PROC_PRE_PRINT_SETUP), + .executable = EINA_FALSE, + .available = EINA_FALSE, + }, { + NULL /* sentinel */ + } +}; + +struct procedure_data *procedures_init(void) +{ + return procedures; +}; + +void procedure_start_print(Eldbus_Proxy *proxy, struct print_data *print) +{ + Eldbus_Message *msg; + Eldbus_Message_Iter *iter, *array_itr; + + + print = NULL; + msg = eldbus_proxy_method_call_new(proxy, "startProcedure"); + iter = eldbus_message_iter_get(msg); + eldbus_message_iter_arguments_append(iter, "sa{sv}", "PRINT", array_itr); + eldbus_message_iter_container_new(iter, 'a', "{sv}"); + eldbus_message_iter_container_close(iter, array_itr); +} |