*/
int pkgmgrinfo_appinfo_get_support_mode(pkgmgrinfo_appinfo_h handle, int *support_mode);
-/**
- * @fn int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle,
- pkgmgrinfo_app_permission_list_cb permission_func, void *user_data);
- * @brief This API gets the list of permission for a particular application
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- * @param[in] handle pointer to the application info handle.
- * @param[in] permission_func callback function for list
- * @param[in] user_data user data to be passed to callback function
- * @return 0 if success, error code(<0) if fail
- * @retval PMINFO_R_OK success
- * @retval PMINFO_R_EINVAL invalid argument
- * @retval PMINFO_R_ERROR internal error
- * @pre pkgmgrinfo_appinfo_get_appinfo()
- * @post pkgmgrinfo_appinfo_destroy_appinfo()
- * @code
-int permission_func(const char *name, void *user_data)
-{
- if (strcmp(name, (char *)user_data) == 0)
- return -1;
- else
- return 0;
-}
-
-static int list_permission(const char *appid, char *permission)
-{
- int ret = 0;
- pkgmgrinfo_appinfo_h handle;
- ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_appinfo_foreach_permission(handle, permission_func, (void *)permission);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return -1;
- }
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle,
- pkgmgrinfo_app_permission_list_cb permission_func, void *user_data);
/**
* @fn int pkgmgrinfo_appinfo_foreach_category(pkgmgrinfo_appinfo_h handle,
void *user_data);
/**
- * @fn int (*pkgmgrinfo_app_permission_list_cb) (const char *permission_type, void *user_data)
- *
- * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_category()
- *
- * @param[in] permission_name the name of the permission
- * @param[in] user_data user data passed to pkgmgrinfo_appinfo_foreach_category()
- *
- * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
- *
- * @see pkgmgrinfo_appinfo_foreach_category()
- */
-typedef int (*pkgmgrinfo_app_permission_list_cb) (const char *permission_type,
- void *user_data);
-
-/**
* @fn int (*pkgmgrinfo_pkg_privilege_list_cb) (const char *privilege_name, void *user_data)
*
* @brief Specifies the type of function passed to pkgmgrinfo_pkginfo_foreach_privilege()
QUERY_CREATE_TABLE_PACKAGE_UPDATE_INFO,
QUERY_CREATE_TABLE_PACKAGE_APP_INFO,
QUERY_CREATE_TABLE_PACKAGE_APP_LOCALIZED_INFO,
- QUERY_CREATE_TABLE_PACKAGE_APP_ICON_SECTION_INFO, /* ? */
- QUERY_CREATE_TABLE_PACKAGE_APP_IMAGE_INFO, /* ? */
QUERY_CREATE_TABLE_PACKAGE_APP_APP_CONTROL,
QUERY_CREATE_TABLE_PACKAGE_APP_APP_CONTROL_PRIVILEGE,
QUERY_CREATE_TABLE_PACKAGE_APP_APP_CATEGORY,
QUERY_CREATE_TABLE_PACKAGE_APP_APP_METADATA,
- QUERY_CREATE_TABLE_PACKAGE_APP_APP_PERMISSION, /* ? */
- QUERY_CREATE_TABLE_PACKAGE_APP_SHARE_ALLOWED, /* ? */
- QUERY_CREATE_TABLE_PACKAGE_APP_SHARE_REQUEST, /* ? */
QUERY_CREATE_TABLE_PACKAGE_APP_DATA_CONTROL,
QUERY_CREATE_TABLE_PACKAGE_APP_DATA_CONTROL_PRIVILEGE,
QUERY_CREATE_TABLE_PACKAGE_APP_INFO_FOR_UID,
" FOREIGN KEY(app_id)\n" \
" REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-#define QUERY_CREATE_TABLE_PACKAGE_APP_ICON_SECTION_INFO \
- "CREATE TABLE IF NOT EXISTS package_app_icon_section_info (\n" \
- " app_id TEXT NOT NULL,\n" \
- " app_icon TEXT,\n" \
- " app_icon_section TEXT NOT NULL,\n" \
- " app_icon_resolution TEXT NOT NULL,\n" \
- " PRIMARY KEY(app_id,app_icon_section,app_icon_resolution)\n" \
- " FOREIGN KEY(app_id)\n" \
- " REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-
-#define QUERY_CREATE_TABLE_PACKAGE_APP_IMAGE_INFO \
- "CREATE TABLE IF NOT EXISTS package_app_image_info (\n" \
- " app_id TEXT NOT NULL,\n" \
- " app_locale TEXT DEFAULT 'No Locale',\n" \
- " app_image_section TEXT NOT NULL,\n" \
- " app_image TEXT,\n" \
- " PRIMARY KEY(app_id,app_image_section)\n" \
- " FOREIGN KEY(app_id)\n" \
- " REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-
#define QUERY_CREATE_TABLE_PACKAGE_APP_APP_CONTROL \
"CREATE TABLE IF NOT EXISTS package_app_app_control (\n" \
" app_id TEXT NOT NULL,\n" \
" FOREIGN KEY(app_id)\n" \
" REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-#define QUERY_CREATE_TABLE_PACKAGE_APP_APP_PERMISSION \
- "CREATE TABLE IF NOT EXISTS package_app_app_permission (\n" \
- " app_id TEXT NOT NULL,\n" \
- " pm_type TEXT NOT NULL,\n" \
- " pm_value TEXT NOT NULL,\n" \
- " PRIMARY KEY(app_id, pm_type, pm_value)\n" \
- " FOREIGN KEY(app_id)\n" \
- " REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-
-#define QUERY_CREATE_TABLE_PACKAGE_APP_SHARE_ALLOWED \
- "CREATE TABLE IF NOT EXISTS package_app_share_allowed (\n" \
- " app_id TEXT NOT NULL,\n" \
- " data_share_path TEXT NOT NULL,\n" \
- " data_share_allowed TEXT NOT NULL,\n" \
- " PRIMARY KEY(app_id,data_share_path,data_share_allowed)\n" \
- " FOREIGN KEY(app_id)\n" \
- " REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-
-#define QUERY_CREATE_TABLE_PACKAGE_APP_SHARE_REQUEST \
- "CREATE TABLE IF NOT EXISTS package_app_share_request (\n" \
- " app_id TEXT NOT NULL,\n" \
- " data_share_request TEXT NOT NULL,\n" \
- " PRIMARY KEY(app_id,data_share_request)\n" \
- " FOREIGN KEY(app_id)\n" \
- " REFERENCES package_app_info(app_id) ON DELETE CASCADE)"
-
#define QUERY_CREATE_TABLE_PACKAGE_APP_DATA_CONTROL \
"CREATE TABLE IF NOT EXISTS package_app_data_control (\n" \
" app_id TEXT NOT NULL,\n" \
return PMINFO_R_OK;
}
-API int pkgmgrinfo_appinfo_get_setting_icon(pkgmgrinfo_appinfo_h handle, char **icon)
-{
- char *val;
- icon_x *ptr;
- GList *tmp;
- pkgmgr_appinfo_x *info = (pkgmgr_appinfo_x *)handle;
-
- retvm_if(handle == NULL, PMINFO_R_EINVAL, "appinfo handle is NULL\n");
- retvm_if(icon == NULL, PMINFO_R_EINVAL, "Argument supplied to hold return value is NULL\n");
-
- if (info->app_info == NULL)
- return PMINFO_R_ERROR;
-
- for (tmp = info->app_info->icon; tmp; tmp = tmp->next) {
- ptr = (icon_x *)tmp->data;
- if (ptr == NULL || ptr->section == NULL)
- continue;
-
- val = (char *)ptr->section;
- if (val && strcmp(val, "setting") == 0) {
- *icon = (char *)ptr->text;
- return PMINFO_R_OK;
- }
- }
-
- return PMINFO_R_ERROR;
-}
-
-
API int pkgmgrinfo_appinfo_get_notification_icon(pkgmgrinfo_appinfo_h handle, char **icon)
{
char *val;
return PMINFO_R_OK;
}
-API int pkgmgrinfo_appinfo_foreach_permission(pkgmgrinfo_appinfo_h handle,
- pkgmgrinfo_app_permission_list_cb permission_func, void *user_data)
-{
- retvm_if(handle == NULL, PMINFO_R_EINVAL, "appinfo handle is NULL");
- retvm_if(permission_func == NULL, PMINFO_R_EINVAL, "Callback function is NULL");
- int ret = -1;
- permission_x *ptr;
- GList *tmp;
- pkgmgr_appinfo_x *info = (pkgmgr_appinfo_x *)handle;
-
- if (info->app_info == NULL)
- return PMINFO_R_ERROR;
-
- for (tmp = info->app_info->permission; tmp; tmp = tmp->next) {
- ptr = (permission_x *)tmp->data;
- if (ptr == NULL)
- continue;
- if (ptr->value) {
- ret = permission_func(ptr->value, user_data);
- if (ret < 0)
- break;
- }
- }
- return PMINFO_R_OK;
-}
-
API int pkgmgrinfo_appinfo_foreach_category(pkgmgrinfo_appinfo_h handle,
pkgmgrinfo_app_category_list_cb category_func, void *user_data)
{
"package_app_app_control",
"package_app_localized_info",
"package_app_app_metadata",
- "package_app_share_allowed",
- "package_app_app_permission",
- "package_app_share_request",
"package_info",
"package_app_data_control",
"package_localized_info",
- "package_app_icon_section_info",
"package_privilege_info",
- "package_app_image_info",
"package_app_data_control_privilege",
NULL
};