/**
+ * @brief Gets the main application ID of the package.
+ * @since_tizen 4.0
+ * @remarks You must release @a main_app_id using free().
+ * @param[in] package_info The package information
+ * @param[out] main_app_id The main application ID of the package
+ * @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_OUT_OF_MEMORY Out of memory
+ * @retval #PACKAGE_MANAGER_ERROR_IO_ERROR I/O error
+ */
+int package_info_get_main_app_id(package_info_h package_info, char **main_app_id);
+
+
+/**
* @brief Gets the label of the package.
* @since_tizen 2.3
* @remarks You must release @a label using free().
return PACKAGE_MANAGER_ERROR_NONE;
}
+API int package_info_get_main_app_id(package_info_h package_info, char **main_app_id)
+{
+ char *mainappid_dup;
+ char *pkg_info_value;
+
+ if (package_info == NULL || main_app_id == NULL)
+ return package_manager_error(PACKAGE_MANAGER_ERROR_INVALID_PARAMETER, __FUNCTION__, NULL);
+
+ if (pkgmgrinfo_pkginfo_get_mainappid(package_info->pkgmgr_pkginfo, &pkg_info_value) != PKGMGR_R_OK)
+ return package_manager_error(PACKAGE_MANAGER_ERROR_IO_ERROR, __FUNCTION__, NULL);
+
+ mainappid_dup = strdup(pkg_info_value);
+ if (mainappid_dup == NULL)
+ return package_manager_error(PACKAGE_MANAGER_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL);
+
+ *main_app_id = mainappid_dup;
+
+ return PACKAGE_MANAGER_ERROR_NONE;
+}
+
API int package_info_get_label(package_info_h package_info, char **label)
{
char *pkg_info_value = NULL;