while (tmp) {
if (appid != NULL && strlen(appid) != 0) {
/* run app callback */
- if (tmp->app_event_cb(target_uid, tmp->request_id, pkg_type, pkgid,
- appid, key, val, NULL, tmp->data) != 0)
+ if (tmp->app_event_cb && tmp->app_event_cb(
+ target_uid, tmp->request_id, pkg_type, pkgid,
+ appid, key, val, NULL, tmp->data) != 0)
break;
} else {
/* run pkg callback */
- if (tmp->event_cb(target_uid, tmp->request_id, pkg_type, pkgid,
- key, val, NULL, tmp->data) != 0)
+ if (tmp->event_cb && tmp->event_cb(
+ target_uid, tmp->request_id, pkg_type, pkgid,
+ key, val, NULL, tmp->data) != 0)
break;
}
tmp = tmp->next;
retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_UPGRADE failed - %d", ret);
}
+ if ((mpc->status_type & PKGMGR_CLIENT_STATUS_ENABLE_DISABLE_APP) == PKGMGR_CLIENT_STATUS_ENABLE_DISABLE_APP) {
+ ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_ENABLE_DISABLE_APP, mpc->info.listening.cc, __status_callback, pc);
+ retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_UPGRADE failed - %d", ret);
+ }
+
return PKGMGR_R_OK;
}
if (g_dbus_connection_emit_signal(pi->conn, NULL,
COMM_STATUS_BROADCAST_OBJECT_PATH,
COMM_STATUS_BROADCAST_INTERFACE, name,
- g_variant_new("(ussssss)", getuid(), sid,
+ g_variant_new("(ussssss)", pi->target_uid, sid,
pkg_type, pkgid, appid, key, val), &err)
!= TRUE) {
ERR("failed to send dbus signal: %s", err->message);
return ret;
}
+API int pkgmgr_installer_set_uid(pkgmgr_installer *pi, uid_t uid)
+{
+ if (pi == NULL)
+ return -1;
+
+ pi->target_uid = uid;
+
+ return 0;
+}
+
API int
pkgmgr_installer_send_app_signal(pkgmgr_installer *pi,
const char *pkg_type,
#define PKGMGR_INSTALLER_OK_EVENT_STR "ok"
#define PKGMGR_INSTALLER_FAIL_EVENT_STR "fail"
-
+#define PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR "disable_app"
+#define PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR "enable_app"
+#define PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID "disable_global_app_for_uid"
+#define PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID "enable_global_app_for_uid"
/**
const char *val);
/**
+ * @brief This API sets the uid of given pkgmgr_installer.
+ *
+ * This API is for package-manager client application.\n
+ *
+ * @param[in]pi pointer to pkgmgr_installer
+ * @param[in]uid uid
+ * @return 0 if success, error code(<0) if fail\n
+*/
+int pkgmgr_installer_set_uid(pkgmgr_installer *pi, uid_t uid);
+
+/**
* @brief This API sets the requst info of given pkgmgr_installer.
*
* This API is for package-manager client application.\n