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