summaryrefslogtreecommitdiffstats
path: root/src/procedures.c
blob: cd05d0f4ba678b041856a5e8cd9426613187a312 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
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);
}