This api will clear all files under data directories in internal and external storage.
- data, shared/data and shared/trusted (in interanl)
- data, shared/trusted (in external)
Change-Id: Iaa4ce8e8a031ab4250f863cb34367730628555ce
Signed-off-by: jongmyeongko <jongmyeong.ko@samsung.com>
*/
int package_manager_clear_all_cache_dir(void);
+/**
+ * @platform
+ * @brief Clears internal and external data directories used by applications in the given package.
+ * @details All files stored in data directories used by applications in the package specified with the @a package_id are removed.
+ * @since_tizen 4.0
+ * @privlevel platform
+ * @privilege %http://tizen.org/privilege/packagemanager.admin
+ * @param[in] package_id The package ID
+ * @return @c 0 on success,
+ * otherwise a negative error value
+ * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
+ * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
+ * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE No such package
+ * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
+ * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY Out of memory
+ * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR I/O error
+ * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR Severe system error
+ */
+int package_manager_clear_data_dir(const char *package_id);
+
/**
* @brief The package size information handle.
+++ /dev/null
-/*
- * Copyright (c) 2011 Samsung Electronics Co., Ltd All Rights Reserved
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an AS IS BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef __TIZEN_APPFW_PACKAGE_MANAGER_EXTENSION_H
-#define __TIZEN_APPFW_PACKAGE_MANAGER_EXTENSION_H
-
-#include "package_manager.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- * @file package_manager_extension.h
- */
-
-/**
- * @addtogroup CAPI_PACKAGE_MANAGER_MODULE
- * @{
- */
-
-/**
- * @brief Clears the application's userdata.
- * @details All userdatas of the application specified with the
- * package ID are removed.
- *
- * @since_tizen 3.0
- * @privlevel platform
- * @privilege %http://tizen.org/privilege/packagemanager.admin
- *
- * @param[in] package_id The package ID
- *
- * @return @c 0 on success,
- * otherwise a negative error value
- *
- * @retval #PACKAGE_MANAGER_ERROR_NONE Successful
- * @retval #PACKAGE_MANAGER_ERROR_INVALID_PARAMETER Invalid parameter
- * @retval #PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE No such package
- * @retval #PACKAGE_MANAGER_ERROR_PERMISSION_DENIED Permission denied
- * @retval #PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY Out of memory
- * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR I/O error
- * @retval #PACKAGE_MANAGER_ERROR_SYSTEM_ERROR Severe system error
- */
-int package_manager_clear_data(const char *package_id);
-
-/**
-* @}
-*/
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* __TIZEN_APPFW_PACKAGE_MANAGER_EXTENSION_H */
return PACKAGE_MANAGER_ERROR_NONE;
}
-API int package_manager_clear_data(const char *package_id)
+API int package_manager_clear_data_dir(const char *package_id)
{
int retval;
pkgmgr_client *pc = NULL;
pkgmgr_client_free(pc);
pkgmgrinfo_pkginfo_destroy_pkginfo(pkginfo);
- if (retval != PKGMGR_R_OK)
- return PACKAGE_MANAGER_ERROR_IO_ERROR;
+ if (retval == PKGMGR_R_EINVAL) {
+ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
+ } else if (retval == PKGMGR_R_ENOPKG) {
+ return package_manager_error(PACKAGE_MANAGER_ERROR_NO_SUCH_PACKAGE, __FUNCTION__, NULL);
+ } else if (retval == PKGMGR_R_ENOMEM) {
+ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL);
+ } else if (retval == PKGMGR_R_EIO) {
+ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL);
+ } else if (retval == PKGMGR_R_EPRIV) {
+ return package_manager_error(PACKAGE_MANAGER_ERROR_PERMISSION_DENIED, __FUNCTION__, NULL);
+ } else if (retval == PKGMGR_R_ESYSTEM || retval == PKGMGR_R_ECOMM || retval == PKGMGR_R_ERROR) {
+ return package_manager_error(PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__, NULL);
+ } else if (retval != PKGMGR_R_OK) {
+ _LOGE("Unexpected error");
+ return package_manager_error(PACKAGE_MANAGER_ERROR_SYSTEM_ERROR, __FUNCTION__, NULL);
+ }
return PACKAGE_MANAGER_ERROR_NONE;
}