return PACKAGE_MANAGER_ERROR_NONE;
}
+static int __convert_status_type(package_manager_status_type_e type)
+{
+ switch (type) {
+ case PACKAGE_MANAGER_STATUS_TYPE_ALL:
+ return PKGMGR_CLIENT_STATUS_ALL;
+ case PACKAGE_MANAGER_STATUS_TYPE_INSTALL:
+ return PKGMGR_CLIENT_STATUS_INSTALL;
+ case PACKAGE_MANAGER_STATUS_TYPE_UNINSTALL:
+ return PKGMGR_CLIENT_STATUS_UNINSTALL;
+ case PACKAGE_MANAGER_STATUS_TYPE_UPGRADE:
+ return PKGMGR_CLIENT_STATUS_UPGRADE;
+ case PACKAGE_MANAGER_STATUS_TYPE_MOVE:
+ return PKGMGR_CLIENT_STATUS_MOVE;
+ case PACKAGE_MANAGER_STATUS_TYPE_CLEAR_DATA:
+ return PKGMGR_CLIENT_STATUS_CLEAR_DATA;
+ case PACKAGE_MANAGER_STATUS_TYPE_INSTALL_PROGRESS:
+ return PKGMGR_CLIENT_STATUS_INSTALL_PROGRESS;
+ case PACKAGE_MANAGER_STATUS_TYPE_GET_SIZE:
+ return PKGMGR_CLIENT_STATUS_GET_SIZE;
+ default:
+ return -1;
+ }
+}
+
API int package_manager_set_event_status(package_manager_h manager, int status_type)
{
int retval;
+ int type;
if (manager == NULL)
return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
- retval = pkgmgr_client_set_status_type(manager->pc, status_type);
+ type = __convert_status_type(status_type);
+ if (type == -1)
+ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
+
+ retval = pkgmgr_client_set_status_type(manager->pc, type);
if (retval < 0)
return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL);