X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fafm-system-daemon.c;h=65e7e334516f49310e8ecbcf0396ad644326661e;hb=1ab49d93991d4061c822cc48cf9b824754f8de8c;hp=ab87c97cf3f84320f6bf263788919082bfee082c;hpb=991c5480c46418e1dd0ff733e5f86de5e20429f5;p=src%2Fapp-framework-main.git diff --git a/src/afm-system-daemon.c b/src/afm-system-daemon.c index ab87c97..65e7e33 100644 --- a/src/afm-system-daemon.c +++ b/src/afm-system-daemon.c @@ -95,25 +95,23 @@ static void on_install(struct jreq *jreq, struct json_object *req) /* install the widget */ ifo = install_widget(wgtfile, root, force); - if (ifo == NULL) { + if (ifo == NULL) jbus_reply_error_s(jreq, "\"installation failed\""); - return; - } - - /* build the response */ - resp = json_object_new_object(); - if(!resp || !j_add_string(resp, "added", wgt_info_desc(ifo)->idaver)) { - json_object_put(resp); + else { + /* build the response */ + resp = json_object_new_object(); + if(!resp || !j_add_string(resp, "added", wgt_info_desc(ifo)->idaver)) + jbus_reply_error_s(jreq, "\"out of memory but installed!\""); + else + jbus_reply_j(jreq, resp); + + /* clean-up */ wgt_info_unref(ifo); - jbus_reply_error_s(jreq, "\"out of memory but installed!\""); - return; + json_object_put(resp); } - wgt_info_unref(ifo); - /* reply and propagate event */ - jbus_reply_j(jreq, resp); - jbus_send_signal_j(jbus, "changed", resp); - json_object_put(resp); + /* still sends the signal */ + jbus_send_signal_s(jbus, "changed", "true"); } static void on_uninstall(struct jreq *jreq, struct json_object *req) @@ -141,11 +139,13 @@ static void on_uninstall(struct jreq *jreq, struct json_object *req) /* install the widget */ rc = uninstall_widget(idaver, root); - if (rc) { + if (rc) jbus_reply_error_s(jreq, "\"uninstallation had error\""); - return; - } - jbus_reply_s(jreq, "true"); + else + jbus_reply_s(jreq, "true"); + + /* still sends the signal */ + jbus_send_signal_s(jbus, "changed", "true"); } static int daemonize()