summaryrefslogtreecommitdiffstats
path: root/src/eulogium.c
diff options
context:
space:
mode:
authorOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-29 13:36:26 (GMT)
committerOlliver Schinagl <o.schinagl@ultimaker.com>2015-04-29 13:38:28 (GMT)
commit31d1151f75bcd8610df26d5b6e8bde72567e2402 (patch)
treeee704be2342a8edc89956ceef0c0d0794fd4b7d0 /src/eulogium.c
parent1e4dca9a56f4881fe5d73a7fb5f2c020428fc5d7 (diff)
downloadeulogium-31d1151f75bcd8610df26d5b6e8bde72567e2402.zip
eulogium-31d1151f75bcd8610df26d5b6e8bde72567e2402.tar.gz
eulogium-31d1151f75bcd8610df26d5b6e8bde72567e2402.tar.bz2
improve dbus error handling a bit, i think we try to get a message, even if we allready know we have failed.
Signed-off-by: Olliver Schinagl <o.schinagl@ultimaker.com>
Diffstat (limited to '')
-rw-r--r--src/eulogium.c37
1 files changed, 24 insertions, 13 deletions
diff --git a/src/eulogium.c b/src/eulogium.c
index c7631bb..9ce88b2 100644
--- a/src/eulogium.c
+++ b/src/eulogium.c
@@ -201,8 +201,11 @@ static void _on_print_abort_ret(void *data EINA_UNUSED, const Eldbus_Message *ms
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)) {
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "b", &print_abort)) {
EINA_LOG_ERR("Failed to abort print.");
+ return;
}
}
@@ -381,15 +384,19 @@ static void _on_start_print_ret(void *data, const Eldbus_Message *msg, Eldbus_Pe
if (eldbus_message_error_get(msg, &errname, &errmsg)) {
EINA_LOG_ERR("%s %s", errname, errmsg);
- } else if (!eldbus_message_arguments_get(msg, "b", &print_started)) {
+ return;
+ }
+ if (!eldbus_message_arguments_get(msg, "b", &print_started)) {
EINA_LOG_ERR("Failed to start print.");
+ return;
}
-
- if (print_started == EINA_TRUE)
+ if (print_started == EINA_TRUE) {
content = eulogium_print_progress(eulogium);
- else
- content = eulogium_generic_error(eulogium, 0); /* TODO make enum/table of error codes and pass that. */
- /* TODO: check why the print failed, and possibly show progress */
+ } else {
+ EINA_LOG_WARN("Bed was unable to be Cleared.");
+ content = eulogium_generic_error(eulogium, 0); /* TODO, proper error codes LUT */
+ }
+ /* TODO: check why the print failed, and possibly show progress. Currently the status_changed does print the error */
elm_naviframe_item_simple_push(eulogium->navi, content);
}
@@ -1028,11 +1035,13 @@ static void _on_get_status_ret(void *data, const Eldbus_Message *msg, Eldbus_Pen
if (eldbus_message_error_get(msg, &errname, &errmsg)) {
EINA_LOG_ERR("%s %s", errname, errmsg);
- } else if (eldbus_message_arguments_get(msg, "(ns)", &status)) {
+ return;
+ }
+ if (eldbus_message_arguments_get(msg, "(ns)", &status)) {
EINA_LOG_ERR("Failed to get printer status.");
- } else {
- eulogium_printer_status_set(eulogium, &status);
+ return;
}
+ eulogium_printer_status_set(eulogium, &status);
}
static void _on_status_changed_ret(void *data, const Eldbus_Message *msg)
@@ -1043,11 +1052,13 @@ static void _on_status_changed_ret(void *data, const Eldbus_Message *msg)
if (eldbus_message_error_get(msg, &errname, &errmsg)) {
EINA_LOG_ERR("%s %s", errname, errmsg);
- } else if (eldbus_message_arguments_get(msg, "(ns)", &status)) {
+ return;
+ }
+ if (eldbus_message_arguments_get(msg, "(ns)", &status)) {
EINA_LOG_ERR("Failed to get printer status.");
- } else {
- eulogium_printer_status_set(eulogium, &status);
+ return;
}
+ eulogium_printer_status_set(eulogium, &status);
}
static int eulogium_dbus_init(struct eulogium_data *eulogium)