summaryrefslogtreecommitdiffstats
path: root/src/eulogium.c
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-29 12:47:14 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-29 12:47:14 (GMT)
commit28091ce6211a3b720287665dfdbfb693d4b4f519 (patch)
treef157fe7f591101817e125b0ecff58cd25e060226 /src/eulogium.c
parent803e27f307e4e6b37b465bce0dd98622ae22f0d0 (diff)
downloadeulogium-28091ce6211a3b720287665dfdbfb693d4b4f519.zip
eulogium-28091ce6211a3b720287665dfdbfb693d4b4f519.tar.gz
eulogium-28091ce6211a3b720287665dfdbfb693d4b4f519.tar.bz2
Try to abort the print when using the abort button
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Diffstat (limited to '')
-rw-r--r--src/eulogium.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index a225e8b..d48d5f4 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -194,11 +194,25 @@ static void _cb_eulogium_exit(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUS
elm_exit();
}
+static void _on_print_abort_ret(void *data EINA_UNUSED, const Eldbus_Message *msg, Eldbus_Pending *pending EINA_UNUSED)
+{
+ const char *errname, *errmsg;
+ Eina_Bool print_abort = EINA_FALSE;
+
+ if (eldbus_message_error_get(msg, &errname, &errmsg)) {
+ EINA_LOG_ERR("%s %s", errname, errmsg);
+ } else if (!eldbus_message_arguments_get(msg, "b", &print_abort)) {
+ EINA_LOG_ERR("Failed to abort print.");
+ }
+}
+
static void _print_abort_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED)
{
struct eulogium_data *eulogium = data;
Elm_Object_Item *item;
+ eldbus_proxy_call(eulogium->dbus.proxy[HARMA], "abortPrint", _on_print_abort_ret, eulogium, -1, "");
+
item = elm_naviframe_bottom_item_get(eulogium->navi);
if (item)
elm_naviframe_item_pop_to(item); /* XXX what to do else? | XXX stack corrupted after this? (see error log) */