request_event_info *head;
package_manager_request_event_cb event_cb;
GHashTable *request_cb_table;
+ int n_paths;
void *user_data;
};
if (__find_event_info(&request->head, req_id, &event_type,
&event_state) == 0) {
if (request->request_cb_table) {
- _LOGD("remove item, req_id(%d)", req_id);
- g_hash_table_remove(request->request_cb_table,
- GINT_TO_POINTER(req_id));
+ request->n_paths--;
+ if (request->n_paths < 1) {
+ _LOGD("remove item, req_id(%d)", req_id);
+ g_hash_table_remove(
+ request->request_cb_table,
+ GINT_TO_POINTER(req_id));
+ }
}
if (event_state != PACKAGE_MANAGER_EVENT_STATE_FAILED) {
if (strcasecmp(val, "ok") == 0) {
return package_manager_error(
PACKAGE_MANAGER_ERROR_INVALID_PARAMETER,
__FUNCTION__, NULL);
+ request->n_paths = n_paths;
int request_id = 0;
request_id = pkgmgr_client_install_packages(request->pc, paths,
n_paths, event_cb ? event_cb : request_event_handler,
return package_manager_error(
PACKAGE_MANAGER_ERROR_INVALID_PARAMETER,
__FUNCTION__, NULL);
+ request->n_paths = n_paths;
int request_id = 0;
request_id = pkgmgr_client_mount_install_packages(request->pc, paths,
n_paths, event_cb ? event_cb : request_event_handler,