#define PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF "PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF"
/** String property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_PRIVILEGE "PMINFO_PKGINFO_PROP_PACKAGE_PRIVILEGE"
+ /** String property for filtering based on package info*/
+#define PMINFO_PKGINFO_PROP_PACKAGE_RES_TYPE "PMINFO_PKGINFO_PROP_PACKAGE_RES_TYPE"
/** Boolean property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE "PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE"
#define PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD "PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD"
/** Boolean property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_READONLY "PMINFO_PKGINFO_PROP_PACKAGE_READONLY"
+ /** Boolean property for filtering based on package info*/
+#define PMINFO_PKGINFO_PROP_PACKAGE_SYSTEM "PMINFO_PKGINFO_PROP_PACKAGE_SYSTEM"
/** Boolean property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_UPDATE "PMINFO_PKGINFO_PROP_PACKAGE_UPDATE"
/** Boolean property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING "PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING"
/** Boolean property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE "PMINFO_PKGINFO_PROP_PACKAGE_SUPPORT_DISABLE"
+ /** Boolean property for filtering based on package info*/
+#define PMINFO_PKGINFO_PROP_PACKAGE_DISABLE "PMINFO_PKGINFO_PROP_PACKAGE_DISABLE"
+ /** Boolean property for filtering based on package info*/
+#define PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE "PMINFO_PKGINFO_PROP_PACKAGE_CHECK_STORAGE"
/** Integer property for filtering based on package info*/
#define PMINFO_PKGINFO_PROP_PACKAGE_SIZE "PMINFO_PKGINFO_PROP_PACKAGE_SIZE"
/** String property for filtering based on app info*/
#define PMINFO_APPINFO_PROP_APP_PACKAGE "PMINFO_APPINFO_PROP_APP_PACKAGE"
/** String property for filtering based on app info*/
-#define PMINFO_APPINFO_PROP_APP_METADATA_KEY "PMINFO_APPINFO_PROP_APP_METADATA_KEY"
+#define PMINFO_APPINFO_PROP_APP_INSTALLED_STORAGE "PMINFO_APPINFO_PROP_APP_INSTALLED_STORAGE"
/** String property for filtering based on app info*/
-#define PMINFO_APPINFO_PROP_APP_METADATA_VALUE "PMINFO_APPINFO_PROP_APP_METADATA_VALUE"
+#define PMINFO_APPINFO_PROP_PRIVILEGE "PMINFO_APPINFO_PROP_PRIVILEGE"
- /** Integer property for filtering app disabled by user*/
-#define PMINFO_APPINFO_PROP_APP_DISABLE_FOR_USER "PMINFO_APPINFO_PROP_APP_DISABLE_FOR_USER_VALUE"
+/** Integer property for filtering app support mode */
+#define PMINFO_APPINFO_PROP_APP_SUPPORT_MODE "PMINFO_APPINFO_PROP_APP_SUPPORT_MODE"
/** Boolean property for filtering based on app info*/
#define PMINFO_APPINFO_PROP_APP_NODISPLAY "PMINFO_APPINFO_PROP_APP_NODISPLAY"
/** Boolean property for filtering based on app info*/
#define PMINFO_APPINFO_PROP_APP_UI_GADGET "PMINFO_APPINFO_PROP_APP_UI_GADGET"
/** Boolean property for filtering based on app info*/
+#define PMINFO_APPINFO_PROP_APP_DISABLE "PMINFO_APPINFO_PROP_APP_DISABLE"
+ /** Boolean property for filtering based on app info*/
#define PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE "PMINFO_APPINFO_PROP_APP_SUPPORT_DISABLE"
+ /** Boolean property for filtering based on app info*/
+#define PMINFO_APPINFO_PROP_APP_CHECK_STORAGE "PMINFO_APPINFO_PROP_APP_CHECK_STORAGE"
+/** Boolean property for filtering based on app info*/
+#define PMINFO_APPINFO_PROP_PKG_DISABLE "PMINFO_APPINFO_PROP_PKG_DISABLE"
/** will be updated*/
/** string property for filtering based on pkg info*/
#define PMINFO_PKGINFO_PROP_RANGE_BASIC "PMINFO_PKGINFO_PROP_RANGE_BASIC"
/* For multiuser support */
-const char *getIconPath(uid_t uid);
-const char *getUserPkgParserDBPath(void);
-const char *getUserPkgParserDBPathUID(uid_t uid);
-const char *getUserPkgCertDBPath(void);
-const char *getUserPkgCertDBPathUID(uid_t uid);
-const char *getUserDesktopPath(uid_t uid);
-const char *getUserManifestPath(uid_t uid);
+const char *getIconPath(uid_t uid, bool readonly);
+char *getUserPkgParserDBPath(void);
+char *getUserPkgParserDBPathUID(uid_t uid);
+char *getUserPkgCertDBPath(void);
+const char *getUserManifestPath(uid_t uid, bool readonly);
/**
* @fn int pkgmgrinfo_pkginfo_get_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data)
*/
int pkgmgrinfo_pkginfo_get_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data);
int pkgmgrinfo_pkginfo_get_usr_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data, uid_t uid);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_disabled_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data)
+ * @fn int pkgmgrinfo_pkginfo_get_usr_disabled_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data, uid_t uid)
+ * @brief This API gets list of disabled packages
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] pkg_list_cb iteration function for list
+ * @param[in] user_data user data to be passed to callback function
+ * @param[in] uid the addressee user id of the instruction
+ * @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 None
+ * @post None
+ */
+int pkgmgrinfo_pkginfo_get_disabled_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data);
+int pkgmgrinfo_pkginfo_get_usr_disabled_list(pkgmgrinfo_pkg_list_cb pkg_list_cb, void *user_data, uid_t uid);
+
/**
* @fn int pkgmgrinfo_pkginfo_get_pkginfo(const char *pkgid, pkgmgrinfo_pkginfo_h *handle)
- * @brief This API creates the package information handle from db
+ * @brief This API creates the package information handle from db which is not disabled
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
int pkgmgrinfo_pkginfo_get_usr_pkginfo(const char *pkgid, uid_t uid, pkgmgrinfo_pkginfo_h *handle);
/**
+ * @fn int pkgmgrinfo_pkginfo_get_disabled_pkginfo(const char *pkgid, pkgmgrinfo_pkginfo_h *handle)
+ * @brief This API creates the disabled package information handle from db
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] pkgid pointer to package ID
+ * @param[in] uid the addressee user id of the instruction
+ * @param[out] handle pointer to the package info handle.
+ * @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 None
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkginfo()
+ */
+int pkgmgrinfo_pkginfo_get_disabled_pkginfo(const char *pkgid, pkgmgrinfo_pkginfo_h *handle);
+int pkgmgrinfo_pkginfo_get_usr_disabled_pkginfo(const char *pkgid, uid_t uid, pkgmgrinfo_pkginfo_h *handle);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_all_pkginfo(const char *pkgid, pkgmgrinfo_pkginfo_h *handle)
+ * @brief This API creates the package information handle from db regardless of its disable or storage status
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] pkgid pointer to package ID
+ * @param[in] uid the addressee user id of the instruction
+ * @param[out] handle pointer to the package info handle.
+ * @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 None
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
+ * @code
+static int get_pkg_type(const char *pkgid)
+{
+ int ret = 0;
+ char *type = NULL;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_all_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_get_type(handle, &type);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkgtype: %s\n", type);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_all_pkginfo(const char *pkgid, pkgmgrinfo_pkginfo_h *handle);
+int pkgmgrinfo_pkginfo_get_usr_all_pkginfo(const char *pkgid, uid_t uid, pkgmgrinfo_pkginfo_h *handle);
+
+/**
* @fn int pkgmgrinfo_pkginfo_get_pkgname(pkgmgrinfo_pkginfo_h handle, char **pkg_name)
* @brief This API gets the package name from the package ID
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkginfo handle.
- * @param[out] tep_name pointer to hold tep name
+ * @param[in] handle pointer to the pkginfo handle.
+ * @param[out] tep_name pointer to hold tep name
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @pre pkgmgrinfo_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
* @see pkgmgrinfo_pkginfo_get_pkgid()
* @code
static int get_tep_name(const char *pkgid)
int pkgmgrinfo_pkginfo_get_tep_name(pkgmgrinfo_pkginfo_h handle, char **tep_name);
/**
- * @fn int pkgmgrinfo_pkginfo_get_install_location(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_install_location *location)
- * @brief This API gets the package install location from the package ID
+ * @fn int pkgmgrinfo_pkginfo_get_zip_mount_file(pkgmgrinfo_pkginfo_h handle, char **zip_mount_file)
+ * @brief This API gets package mount point path associated with the package
+ * if package is mount-installed. Otherwise, zip_mount_file is left as NULL value
*
- * @par This API is for package-manager client application
+ * @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] location pointer to hold package install location
+ * @param[in] handle pointer to the pkginfo handle.
+ * @param[out] zip_mount_file pointer to hold zip mount file
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
+ * @retval PMINFO_R_OK success
+ * @retval PMINFO_R_EINVAL invalid argument
+ * @retval PMINFO_R_ERROR internal error
+ * @pre pkgmgrinfo_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
* @code
-static int get_pkg_install_location(const char *pkgid)
+static int get_zip_mount_file(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_install_location location;
- pkgmgrinfo_pkginfo_h handle;
+ char *zip_mount_file = NULL;
+ pkgmgrinfo_pkginfo_h handle = NULL;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_install_location(handle, &location);
+ ret = pkgmgrinfo_pkginfo_get_zip_mount_file(handle, &zip_mount_file);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg install location: %d\n", location);
+ if (zip_mount_file != NULL)
+ printf("Zip mount path is: %s\n", zip_mount_file);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_get_install_location(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_install_location *location);
+int pkgmgrinfo_pkginfo_get_zip_mount_file(pkgmgrinfo_pkginfo_h handle, char **zip_mount_file);
/**
- * @fn int pkgmgrinfo_pkginfo_get_package_size(pkgmgrinfo_pkginfo_h handle, int *size)
- * @brief This API gets the package size from the package ID. size will be 0 if package install location is internal-only.
- size will be 0 if package install location is prefer-external but size is not specified in manifest file.Application should check
- the return value of pkgmgrinfo_pkginfo_get_install_location() and use it to distinguish the above cases.
+ * @fn int pkgmgrinfo_pkginfo_get_external_image_path(pkgmgrinfo_pkginfo_h handle, char **ext_image_path)
+ * @brief This API gets package external image path associated with the package
+ * if package is installed in external storage.
+ * Otherwise, the return value will be PMINFO_R_ENOENT.
*
- * @par This API is for package-manager client application
+ * @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] size pointer to hold package size
+ * @param[in] handle pointer to the pkginfo handle.
+ * @param[out] ext_image_path pointer to hold external image path
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
+ * @retval PMINFO_R_OK success
+ * @retval PMINFO_R_EINVAL invalid argument
+ * @retval PMINFO_R_ERROR internal error
+ * @revall PMINFO_R_ENOENT no valid data
+ * @pre pkgmgrinfo_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
* @code
-static int get_pkg_size(const char *pkgid)
+static int get_external_image_path(const char *pkgid)
{
int ret = 0;
- int size = 0;
- pkgmgrinfo_pkginfo_h handle;
+ char *ext_image_path = NULL;
+ pkgmgrinfo_pkginfo_h handle = NULL;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_package_size(handle, &size);
+ ret = pkgmgrinfo_pkginfo_get_external_image_path(handle, &ext_image_path);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkgsize: %d\n", size);
+ printf("external image path is: %s\n", ext_image_path);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_get_package_size(pkgmgrinfo_pkginfo_h handle, int *size);
+int pkgmgrinfo_pkginfo_get_external_image_path(pkgmgrinfo_pkginfo_h handle, char **ext_image_path);
/**
- * @fn int pkgmgrinfo_pkginfo_get_total_size(pkgmgrinfo_pkginfo_h handle, int *size)
- * @brief This API gets the installed package total size on the target.
+ * @fn int pkgmgrinfo_pkginfo_get_install_location(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_install_location *location)
+ * @brief This API gets the package install location from the package ID
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] size pointer to hold package total size
+ * @param[in] handle pointer to package info handle
+ * @param[out] location pointer to hold package install location
* @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_total_size(const char *pkgid)
+static int get_pkg_install_location(const char *pkgid)
{
int ret = 0;
- int size = 0;
+ pkgmgrinfo_install_location location;
pkgmgrinfo_pkginfo_h handle;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_total_size(handle, &size);
+ ret = pkgmgrinfo_pkginfo_get_install_location(handle, &location);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg total size: %d\n", size);
+ printf("pkg install location: %d\n", location);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
- int pkgmgrinfo_pkginfo_get_total_size(pkgmgrinfo_pkginfo_h handle, int *size);
+int pkgmgrinfo_pkginfo_get_install_location(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_install_location *location);
/**
- * @fn int pkgmgrinfo_pkginfo_get_data_size(pkgmgrinfo_pkginfo_h handle, int *size)
- * @brief This API gets the installed package data size on the target.
+ * @fn int pkgmgrinfo_pkginfo_get_package_size(pkgmgrinfo_pkginfo_h handle, int *size)
+ * @brief This API gets the package size from the package ID. size will be 0 if package install location is internal-only.
+ size will be 0 if package install location is prefer-external but size is not specified in manifest file.Application should check
+ the return value of pkgmgrinfo_pkginfo_get_install_location() and use it to distinguish the above cases.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to package info handle
- * @param[out] size pointer to hold package data size
+ * @param[out] size pointer to hold package size
* @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_data_size(const char *pkgid)
+static int get_pkg_size(const char *pkgid)
{
int ret = 0;
int size = 0;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_data_size(handle, &size);
+ ret = pkgmgrinfo_pkginfo_get_package_size(handle, &size);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg data size: %d\n", size);
+ printf("pkgsize: %d\n", size);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
- int pkgmgrinfo_pkginfo_get_data_size(pkgmgrinfo_pkginfo_h handle, int *size);
+int pkgmgrinfo_pkginfo_get_package_size(pkgmgrinfo_pkginfo_h handle, int *size);
/**
* @fn int pkgmgrinfo_pkginfo_get_icon(pkgmgrinfo_pkginfo_h handle, char **icon)
int pkgmgrinfo_pkginfo_get_installed_time(pkgmgrinfo_pkginfo_h handle, int *installed_time);
/**
- * @fn int pkgmgrinfo_appinfo_get_launch_mode(pkgmgrinfo_appinfo_h handle, char **mode)
- * @brief This API gets the launch mode of package from the package ID
+ * @fn int pkgmgrinfo_updateinfo_create(pkgmgrinfo_updateinfo_h *update_handle)
+ * @brief This API creates the update info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] mode pointer to hold launch mode of package
+ * @param[out] handle pointer to package update info handle
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
+ * @post pkgmgrinfo_updateinfo_destroy()
+ * @see pkgmgrinfo_updateinfo_set_pkgid()
+ * @see pkgmgrinfo_updateinfo_set_version()
+ * @see pkgmgrinfo_updateinfo_set_type()
+ * @see pkgmgr_client_register_pkg_updateinfo()
* @code
-static int get_pkg_launch_mode(const char *pkgid)
+static int updateinfo_handle_create()
{
int ret = 0;
- char *launch_mode = NULL;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+
+ pkgmgrinfo_updateinfo_h handle;
+ ret = pkgmgrinfo_updateinfo_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_launch_mode(handle, &mode);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("launch mode: %s\n", mode);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ pkgmgrinfo_update_infodestroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_launch_mode(pkgmgrinfo_appinfo_h handle, char **mode);
+int pkgmgrinfo_updateinfo_create(pkgmgrinfo_updateinfo_h *update_handle);
/**
- * @fn int pkgmgrinfo_pkginfo_get_storeclientid(pkgmgrinfo_pkginfo_h handle, char **storeclientid)
- * @brief This API gets the store client id of package from the package ID
+ * @fn int pkgmgrinfo_updateinfo_destroy(pkgmgrinfo_updateinfo_h update_handle)
+ * @brief This API destroy the update info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] storeclientid pointer to hold store client id of package
+ * @param[in] handle pointer to package update info handle
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
+ * @pre pkgmgrinfo_updateinfo_create()
+ * @see pkgmgr_client_register_pkg_updateinfo()
* @code
-static int get_pkg_storeclientid(const char *pkgid)
+static int updateinfo_handle_destroy(pkgmgrinfo_updateinfo_h handle)
{
int ret = 0;
- char *storeclientid = 0;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+
+ ret = pkgmgrinfo_updateinfo_destroy(handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_storeclientid(handle, &storeclientid);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf(store client id: %s\n", storeclientid);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_get_storeclientid(pkgmgrinfo_pkginfo_h handle, char **storeclientid);
+int pkgmgrinfo_updateinfo_destroy(pkgmgrinfo_updateinfo_h update_handle);
/**
- * @fn int pkgmgrinfo_pkginfo_get_mainappid(pkgmgrinfo_pkginfo_h handle, char **mainappid)
- * @brief This API gets the main app id of package from the package ID
+ * @fn int pkgmgrinfo_updateinfo_get_updateinfo(const char *pkgid, pkgmgrinfo_updateinfo_h *update_handle)
+ * @brief This API creates the package update information handle from db
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] mainappid pointer to hold main app id of package
+ * @param[in] pkgid pointer to package ID
+ * @param[in] uid the addressee user id of the instruction
+ * @param[out] update_handle pointer to the package update info handle.
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
+ * @pre None
+ * @post pkgmgrinfo_updateinfo_destroy()
+ * @see pkgmgrinfo_updateinfo_get_pkgid()
+ * @see pkgmgrinfo_updateinfo_get_version()
+ * @see pkgmgrinfo_updateinfo_get_update_type()
* @code
-static int get_pkg_mainappid(const char *pkgid)
+static int get_pkg_update_info(const char *pkgid)
{
int ret = 0;
- char *mainappid = 0;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ char *version;
+ pkgmgrinfo_updateinfo_h handle;
+ ret = pkgmgrinfo_updateinfo_get_updateinfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_mainappid(handle, &mainappid);
+ ret = pkgmgrinfo_updateinfo_get_version(handle, &version);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ pkgmgrinfo_updateinfo_destroy(handle);
return -1;
}
- printf(main app id: %s\n", mainappid);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ printf("pkg update version: %s\n", version
+ pkgmgrinfo_updateinfo_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_get_mainappid(pkgmgrinfo_pkginfo_h handle, char **mainappid);
+int pkgmgrinfo_updateinfo_get_updateinfo(const char *pkgid, pkgmgrinfo_updateinfo_h *update_handle);
+int pkgmgrinfo_updateinfo_get_usr_updateinfo(const char *pkgid, pkgmgrinfo_updateinfo_h *update_handle, uid_t uid);
/**
- * @fn int pkgmgrinfo_pkginfo_get_url(pkgmgrinfo_pkginfo_h handle, char **url)
- * @brief This API gets the url of package from the package ID
+ * @fn int pkgmgrinfo_updateinfo_set_pkgid(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *pkgid)
+ * @brief This API sets given pkgid into handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] url pointer to hold url of package
+ * @param[in] handle pointer to package update info handle
+ * @param[in] pkgid package id
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_url(const char *pkgid)
+static int set_pkgid_to_handle(pkgmgrinfo_updateinfo_h handle, const char *pkgid)
{
int ret = 0;
- char *url = 0;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+
+ ret = pkgmgrinfo_updateinfo_set_pkgid(handle, pkgid);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_url(handle, &url);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("url : %s\n", url);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_get_url(pkgmgrinfo_pkginfo_h handle, char **url);
-
+int pkgmgrinfo_updateinfo_set_pkgid(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *pkgid);
/**
- * @fn int pkgmgrinfo_pkginfo_get_root_path(pkgmgrinfo_pkginfo_h handle, char **path)
- * @brief This API gets the root path of package
+ * @fn int pkgmgrinfo_updateinfo_set_version(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *version)
+ * @brief This API sets given version into handle
*
+ * @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] path pointer to hold root path of package
+ * @param[in] handle pointer to package update info handle
+ * @param[in] version update version
* @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
* @code
-static int get_root_path(const char *pkgid)
+static int set_version_to_handle(pkgmgrinfo_updateinfo_h handle, const char *version)
{
int ret = 0;
- char *path = 0;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+
+ ret = pkgmgrinfo_updateinfo_set_version(handle, version);
if (ret != PMINFO_R_OK)
return -1;
-
- ret = pkgmgrinfo_pkginfo_get_root_path(handle, &path);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("path : %s\n", path);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_pkginfo_get_root_path(pkgmgrinfo_pkginfo_h handle, char **path);
-
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_updateinfo_set_version(pkgmgrinfo_updateinfo_h updateinfo_handle, const char *version);
/**
- * @fn int pkgmgrinfo_pkginfo_get_csc_path(pkgmgrinfo_pkginfo_h handle, char **path)
- * @brief This API gets the csc path of package
+ * @fn int pkgmgrinfo_updateinfo_set_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type type)
+ * @brief This API sets given update type into handle
*
+ * @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] path pointer to hold csc path of package
+ * @param[in] handle pointer to package update info handle
+ * @param[in] type update type
* @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
* @code
-static int get_csc_path(const char *pkgid)
+static int set_type_to_handle(pkgmgrinfo_updateinfo_h handle, pkgmgrinfo_updateinfo_update_type type)
{
int ret = 0;
- char *path = 0;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_pkginfo_get_csc_path(handle, &path);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ ret = pkgmgrinfo_updateinfo_set_type(handle, type);
+ if (ret != PMINFO_R_OK)
return -1;
- }
- printf("path : %s\n", path);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
-
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_get_csc_path(pkgmgrinfo_pkginfo_h handle, char **path);
+int pkgmgrinfo_updateinfo_set_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type type);
/**
- * @fn int pkgmgrinfo_pkginfo_compare_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
- * @brief This API compare the cert information from given package id
+ * @fn int pkgmgrinfo_updateinfo_get_pkgid(pkgmgrinfo_updateinfo_h update_handle, char **pkgid)
+ * @brief This API retrieves the pkgid from given update info
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] lhs_package_id pointer to first package ID
- * @param[in] rhs_package_id pointer to second package ID
- * @param[out] compare_result pointer to the compare result.
+ * @param[in] handle pointer to package update info handle
+ * @param[out] pkgid package id
* @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 None
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int compare_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
+static int get_pkgid_from_handle(pkgmgrinfo_updateinfo_h handle)
{
int ret = 0;
- pkgmgrinfo_cert_compare_result_type_e result;
+ char *pkgid;
- ret = pkgmgrinfo_pkginfo_compare_pkg_cert_info(lhs_package_id, rhs_package_id, &result);
- if (ret != PMINFO_R_OK) {
+ ret = pkgmgrinfo_updateinfo_get_pkgid(handle, &pkgid);
+ if (ret != PMINFO_R_OK)
return -1;
- }
- printf("result: %d\n", result);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_compare_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, pkgmgrinfo_cert_compare_result_type_e *compare_result);
-int pkgmgrinfo_pkginfo_compare_usr_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, uid_t uid, pkgmgrinfo_cert_compare_result_type_e *compare_result);
+int pkgmgrinfo_updateinfo_get_pkgid(pkgmgrinfo_updateinfo_h update_handle, char **pkgid);
+
/**
- * @fn int pkgmgrinfo_pkginfo_compare_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
- * @brief This API compare the cert information from given app id
+ * @fn int pkgmgrinfo_updateinfo_get_version(pkgmgrinfo_updateinfo_h updateinfo_handle, char **version)
+ * @brief This API retrieves the version from given update info
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] lhs_app_id pointer to first app ID
- * @param[in] rhs_app_id pointer to second app ID
- * @param[out] compare_result pointer to the compare result.
+ * @param[in] handle pointer to package update info handle
+ * @param[out] version update version
* @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 None
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int compare_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
+static int get_version_from_handle(pkgmgrinfo_updateinfo_h handle)
{
int ret = 0;
- pkgmgrinfo_cert_compare_result_type_e result;
+ char *version;
- ret = pkgmgrinfo_pkginfo_compare_app_cert_info(lhs_app_id, rhs_app_id, &result);
- if (ret != PMINFO_R_OK) {
+ ret = pkgmgrinfo_updateinfo_get_version(handle, &version);
+ if (ret != PMINFO_R_OK)
return -1;
- }
- printf("result: %d\n", result);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_compare_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, pkgmgrinfo_cert_compare_result_type_e *compare_result);
-int pkgmgrinfo_pkginfo_compare_usr_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, uid_t uid, pkgmgrinfo_cert_compare_result_type_e *compare_result);
+int pkgmgrinfo_updateinfo_get_version(pkgmgrinfo_updateinfo_h updateinfo_handle, char **version);
+
/**
- * @fn int pkgmgrinfo_pkginfo_is_removable(pkgmgrinfo_pkginfo_h handle, bool *removable)
- * @brief This API gets the package 'removable' value from the package ID
+ * @fn int pkgmgrinfo_updateinfo_get_update_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type *type)
+ * @brief This API retrieves the update type from given update info
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] removable pointer to hold package removable value
+ * @param[in] handle pointer to package update info handle
+ * @param[out] type update type
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_readonly()
* @code
-static int get_pkg_removable(const char *pkgid)
+static int get_type_from_handle(pkgmgrinfo_updateinfo_h handle)
{
int ret = 0;
- bool removable;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ pkgmgrinfo_updateinfo_update_type *type;
+
+ ret = pkgmgrinfo_updateinfo_get_type(handle, &type);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_removable(handle, &removable);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("pkg removable: %d\n", removable);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_removable(pkgmgrinfo_pkginfo_h handle, bool *removable);
+int pkgmgrinfo_updateinfo_get_update_type(pkgmgrinfo_updateinfo_h updateinfo_handle, pkgmgrinfo_updateinfo_update_type *type);
+
/**
- * @fn int pkgmgrinfo_pkginfo_is_movable(pkgmgrinfo_pkginfo_h handle, bool *movable)
- * @brief This API check that the package can move internal storage to external storage or external storage to internal storage from the package ID
+ * @fn int pkgmgrinfo_updateinfo_foreach_updateinfo(pkgmgrinfo_foreach_updateinfo_cb callback, void *user_data)
+ * @brief This API retrieve the update informations and invoke given callback for it.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] movable pointer to hold package movable state
+ * @param[in] callback callback to be invoked for each retrieved informations
+ * @param[in] user_data user data to be passed to callback
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
* @code
-static int get_pkg_movable(const char *pkgid)
+static int foreach_pkg_updateinfo(pkgmgrinfo_foreach_updateinfo_cb callback)
{
int ret = 0;
- bool movable;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+
+ ret = pkgmgrinfo_updateinfo_foreach_updateinfo(callback, NULL);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_movable(handle, &movable);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("pkg movable: %d\n", movable);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_movable(pkgmgrinfo_pkginfo_h handle, bool *movable);
+int pkgmgrinfo_updateinfo_foreach_updateinfo(pkgmgrinfo_foreach_updateinfo_cb callback, void *user_data);
+int pkgmgrinfo_updateinfo_usr_foreach_updateinfo(uid_t uid, pkgmgrinfo_foreach_updateinfo_cb callback, void *user_data);
/**
- * @fn int pkgmgrinfo_pkginfo_is_preload(pkgmgrinfo_pkginfo_h handle, bool *preload)
- * @brief This API gets the package 'preload' value from the package ID
+ * @fn int pkgmgrinfo_plugininfo_is_executed(const char *pkgid, const char *appid, const char *plugin_type, const char *plugin_name, bool *is_executed);
+ * @brief This API checkes whether given plugin had been executed with given package ID and application ID or not.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] preload pointer to hold package preload value
+ * @param[in] pkgid package ID
+ * @param[in] appid application ID
+ * @param[in] plugin_type plugin type to be checked
+ * @param[in] plugin_name plugin name to be checked
+ * @param[out] is_executed check result
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_readonly()
* @code
-static int get_pkg_preload(const char *pkgid)
+static bool check_execute_info(const char *pkgid, const char *appid, const char *plugin_type, const char *plugin_name)
{
int ret = 0;
- bool preload;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ bool is_executed;
+
+ ret = pkgmgrinfo_plugininfo_is_executed(pkgid, appid, plugin_type, plugin_name, &is_executed);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_preload(handle, &preload);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("pkg preload: %d\n", preload);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ printf("is checked is [%d]\n", is_executed);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_preload(pkgmgrinfo_pkginfo_h handle, bool *preload);
+int pkgmgrinfo_plugininfo_is_executed(const char *pkgid, const char *appid,
+ const char *plugin_type, const char *plugin_name, bool *is_executed);
/**
- * @fn int pkgmgrinfo_pkginfo_is_system(pkgmgrinfo_pkginfo_h handle, bool *system)
- * @brief This API gets the value for given handle is system or not
+ * @fn int pkgmgrinfo_plugininfo_foreach_plugininfo(const char *pkgid, const char *plugin_type, const char *plugin_name, pkgmgrinfo_plugin_list_cb plugin_list_cb, void *user_data);
+ * @brief This API retrieve the previous plugin execution info and invoke callbacks each of it.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to package info handle
- * @param[out] system pointer to hold system is or not
+ * @param[in] pkgid package ID
+ * @param[in] plugin_type type of plugin
+ * @param[in] plugin_name name of plugin
+ * @param[in] plugin_list_cb callback to be invoked for each plugin execution info
+ * @param[out] user_data user data to be passed to callback
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_readonly()
* @code
-static int get_pkg_system(const char *pkgid)
+static int foreach_pkg_plugininfo(const char *pkgid, const char *plugin_type, const char *plugin_name, pkgmgrinfo_plugin_list_cb callback)
{
int ret = 0;
- bool system = false;
- pkgmgrinfo_pkginfo_h handle = NULL;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+
+ ret = pkgmgrinfo_plugininfo_foreach_plugininfo(pkgid, plugin_type, plugin_name, callback, NULL);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_system(handle, &system);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- printf("pkg system: %d\n", system);
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_system(pkgmgrinfo_pkginfo_h handle, bool *system);
+int pkgmgrinfo_plugininfo_foreach_plugininfo(const char *pkgid,
+ const char *plugin_type, const char *plugin_name,
+ pkgmgrinfo_plugin_list_cb plugin_list_cb, void *user_data);
/**
- * @fn int pkgmgrinfo_pkginfo_is_readonly(pkgmgrinfo_pkginfo_h handle, bool *readonly)
- * @brief This API gets the package 'readonly' value from the package ID
+ * @fn int pkgmgrinfo_appinfo_get_launch_mode(pkgmgrinfo_appinfo_h handle, char **mode)
+ * @brief This API gets the launch mode of package from the package ID
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to package info handle
- * @param[out] readonly pointer to hold package readonly value
+ * @param[out] mode pointer to hold launch mode of package
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @see pkgmgrinfo_pkginfo_get_pkgid()
* @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_readonly(const char *pkgid)
+static int get_pkg_launch_mode(const char *pkgid)
{
int ret = 0;
- bool readonly;
+ char *launch_mode = NULL;
pkgmgrinfo_pkginfo_h handle;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_readonly(handle, &readonly);
+ ret = pkgmgrinfo_pkginfo_get_launch_mode(handle, &mode);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg readonly: %d\n", readonly);
+ printf("launch mode: %s\n", mode);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_readonly(pkgmgrinfo_pkginfo_h handle, bool *readonly);
-
+int pkgmgrinfo_appinfo_get_launch_mode(pkgmgrinfo_appinfo_h handle, char **mode);
/**
- * @fn int pkgmgrinfo_pkginfo_is_update(pkgmgrinfo_pkginfo_h handle, bool *update)
- * @brief This API gets the package 'upate' value from the package ID
+ * @fn int pkgmgrinfo_pkginfo_get_storeclientid(pkgmgrinfo_pkginfo_h handle, char **storeclientid)
+ * @brief This API gets the store client id of package from the package ID
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to package info handle
- * @param[out] update pointer to hold package update value
+ * @param[out] storeclientid pointer to hold store client id of package
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @pre pkgmgrinfo_pkginfo_get_pkginfo()
* @post pkgmgrinfo_pkginfo_destroy_pkginfo()
* @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_update(const char *pkgid)
+static int get_pkg_storeclientid(const char *pkgid)
{
int ret = 0;
- bool update;
+ char *storeclientid = 0;
pkgmgrinfo_pkginfo_h handle;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_update(handle, &update);
+ ret = pkgmgrinfo_pkginfo_get_storeclientid(handle, &storeclientid);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg update: %d\n", update);
+ printf(store client id: %s\n", storeclientid);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_update(pkgmgrinfo_pkginfo_h handle, bool *update);
+int pkgmgrinfo_pkginfo_get_storeclientid(pkgmgrinfo_pkginfo_h handle, char **storeclientid);
/**
- * @fn int pkgmgrinfo_pkginfo_is_support_disable(pkgmgrinfo_pkginfo_h handle, bool *support_disable)
- * @brief This API gets the package 'support_disable' value from the package ID
+ * @fn int pkgmgrinfo_pkginfo_get_mainappid(pkgmgrinfo_pkginfo_h handle, char **mainappid)
+ * @brief This API gets the main app id of package from the package ID
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to package info handle
- * @param[out] support_disable pointer to hold package support_disable value
+ * @param[out] mainappid pointer to hold main app id of package
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @pre pkgmgrinfo_pkginfo_get_pkginfo()
* @post pkgmgrinfo_pkginfo_destroy_pkginfo()
* @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_support_disable(const char *pkgid)
+static int get_pkg_mainappid(const char *pkgid)
{
int ret = 0;
- bool support_disable;
- pkgmgrinfo_pkginfo_h handle = NULL;
+ char *mainappid = 0;
+ pkgmgrinfo_pkginfo_h handle;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_support_disable(handle, &support_disable);
+ ret = pkgmgrinfo_pkginfo_get_mainappid(handle, &mainappid);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg support_disable: %d\n", support_disable);
+ printf(main app id: %s\n", mainappid);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_support_disable(pkgmgrinfo_pkginfo_h handle, bool *support_disable);
-
-/**
- * @fn int pkgmgrinfo_pkginfo_is_global(pkgmgrinfo_pkginfo_h handle, bool *global)
- * @brief This API gets whethere the given package is global package or user package
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] uid uid of the user to determine the database
- * @param[in] pkgid id of the current package
- * @return 1 if it a global package, 0 else
- */
-
-int pkgmgrinfo_pkginfo_is_global(pkgmgrinfo_pkginfo_h handle, bool *global);
-
+int pkgmgrinfo_pkginfo_get_mainappid(pkgmgrinfo_pkginfo_h handle, char **mainappid);
/**
- * @fn int pkgmgrinfo_pkginfo_is_accessible(pkgmgrinfo_pkginfo_h handle, bool *accessible)
- * @brief This API gets the package 'accessible' value from the package ID
+ * @fn int pkgmgrinfo_pkginfo_get_url(pkgmgrinfo_pkginfo_h handle, char **url)
+ * @brief This API gets the url of package from the package ID
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to package info handle
- * @param[out] accessible pointer to hold package accessible value
+ * @param[out] url pointer to hold url of package
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @pre pkgmgrinfo_pkginfo_get_pkginfo()
* @post pkgmgrinfo_pkginfo_destroy_pkginfo()
* @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_readonly()
+ * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_accessible(const char *pkgid)
+static int get_pkg_url(const char *pkgid)
{
int ret = 0;
- bool accessible;
+ char *url = 0;
pkgmgrinfo_pkginfo_h handle;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_is_accessible(handle, &accessible);
+ ret = pkgmgrinfo_pkginfo_get_url(handle, &url);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("pkg accessible: %d\n", accessible);
+ printf("url : %s\n", url);
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_is_accessible(pkgmgrinfo_pkginfo_h handle, bool *accessible);
+int pkgmgrinfo_pkginfo_get_url(pkgmgrinfo_pkginfo_h handle, char **url);
/**
- * @fn int pkgmgrinfo_pkginfo_destroy_pkginfo(pkgmgrinfo_pkginfo_h handle)
- * @brief This API destroys the package information handle freeing up all the resources
+ * @fn int pkgmgrinfo_pkginfo_get_root_path(pkgmgrinfo_pkginfo_h handle, char **path)
+ * @brief This API gets the root path of package
*
- * @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package info handle
+ * @param[in] handle pointer to package info handle
+ * @param[out] path pointer to hold root path of package
* @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_pkginfo_get_pkginfo()
- * @post None
- * @see pkgmgrinfo_pkginfo_get_pkgid()
- * @see pkgmgrinfo_pkginfo_is_removable()
* @code
-static int get_pkg_type(const char *pkgid)
+static int get_root_path(const char *pkgid)
{
int ret = 0;
- char *type = NULL;
+ char *path = 0;
pkgmgrinfo_pkginfo_h handle;
ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_get_type(handle, &type);
+
+ ret = pkgmgrinfo_pkginfo_get_root_path(handle, &path);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("path : %s\n", path);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_root_path(pkgmgrinfo_pkginfo_h handle, char **path);
+
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_csc_path(pkgmgrinfo_pkginfo_h handle, char **path)
+ * @brief This API gets the csc path of package
+ *
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] path pointer to hold csc path of package
+ * @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
+ * @code
+static int get_csc_path(const char *pkgid)
+{
+ int ret = 0;
+ char *path = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+
+ ret = pkgmgrinfo_pkginfo_get_csc_path(handle, &path);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("path : %s\n", path);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_csc_path(pkgmgrinfo_pkginfo_h handle, char **path);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_res_type(pkgmgrinfo_pkginfo_h handle, char **res_type)
+ * @brief This API gets the resource type of package
+ *
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] res_type pointer to hold resource type of package
+ * @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
+ * @code
+static int get_res_type(const char *pkgid)
+{
+ int ret = 0;
+ char *res_type = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+
+ ret = pkgmgrinfo_pkginfo_get_res_type(handle, &res_type);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("res_type : %s\n", res_type);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_res_type(pkgmgrinfo_pkginfo_h handle, char **res_type);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_res_version(pkgmgrinfo_pkginfo_h handle, char **res_version)
+ * @brief This API gets the resource version of package
+ *
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] res_version pointer to hold resource version of package
+ * @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
+ * @code
+static int get_res_version(const char *pkgid)
+{
+ int ret = 0;
+ char *res_version = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+
+ ret = pkgmgrinfo_pkginfo_get_res_version(handle, &res_version);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("res_version : %s\n", res_version);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_res_version(pkgmgrinfo_pkginfo_h handle, char **res_version);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_light_user_switch_mode(pkgmgrinfo_pkginfo_h handle, char **mode)
+ * @brief This API gets the light_user_switch_mode of package
+ *
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] mode pointer to hold resource version of package
+ * @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
+ * @code
+static int get_light_user_switch_mode(const char *pkgid)
+{
+ int ret = 0;
+ char *mode = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+
+ ret = pkgmgrinfo_pkginfo_get_light_user_switch_mode(handle, &mode);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("light_user_switch_mode : %s\n", mode);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_light_user_switch_mode(pkgmgrinfo_pkginfo_h handle, char **mode);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_get_support_mode(pkgmgrinfo_pkginfo_h handle, int *support_mode)
+ * @brief This API gets the support_mode of package
+ *
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] support_mode pointer to hold support_mode of package
+ * @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
+ * @code
+static int get_support_mode(const char *pkgid)
+{
+ int ret = 0;
+ int support_mode = 0;
+ pkgmgrinfo_pkginfo_h handle = NULL;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+
+ ret = pkgmgrinfo_pkginfo_get_support_mode(handle, &support_mode);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("support_mode : %s\n", support_mode);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_get_support_mode(pkgmgrinfo_pkginfo_h handle, int *support_mode);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_compare_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
+ * @brief This API compare the cert information from given package id
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] lhs_package_id pointer to first package ID
+ * @param[in] rhs_package_id pointer to second package ID
+ * @param[out] compare_result pointer to the compare result.
+ * @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 None
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
+ * @code
+static int compare_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
+{
+ int ret = 0;
+ pkgmgrinfo_cert_compare_result_type_e result;
+
+ ret = pkgmgrinfo_pkginfo_compare_pkg_cert_info(lhs_package_id, rhs_package_id, &result);
+ if (ret != PMINFO_R_OK) {
+ return -1;
+ }
+ printf("result: %d\n", result);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_compare_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, pkgmgrinfo_cert_compare_result_type_e *compare_result);
+int pkgmgrinfo_pkginfo_compare_usr_pkg_cert_info(const char *lhs_package_id, const char *rhs_package_id, uid_t uid, pkgmgrinfo_cert_compare_result_type_e *compare_result);
+/**
+ * @fn int pkgmgrinfo_pkginfo_compare_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
+ * @brief This API compare the cert information from given app id
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] lhs_app_id pointer to first app ID
+ * @param[in] rhs_app_id pointer to second app ID
+ * @param[out] compare_result pointer to the compare result.
+ * @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 None
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
+ * @code
+static int compare_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, pkgmgrinfo_cert_compare_result_type_e *compare_result)
+{
+ int ret = 0;
+ pkgmgrinfo_cert_compare_result_type_e result;
+
+ ret = pkgmgrinfo_pkginfo_compare_app_cert_info(lhs_app_id, rhs_app_id, &result);
+ if (ret != PMINFO_R_OK) {
+ return -1;
+ }
+ printf("result: %d\n", result);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_compare_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, pkgmgrinfo_cert_compare_result_type_e *compare_result);
+int pkgmgrinfo_pkginfo_compare_usr_app_cert_info(const char *lhs_app_id, const char *rhs_app_id, uid_t uid, pkgmgrinfo_cert_compare_result_type_e *compare_result);
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_removable(pkgmgrinfo_pkginfo_h handle, bool *removable)
+ * @brief This API gets the package 'removable' value from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] removable pointer to hold package removable value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_readonly()
+ * @code
+static int get_pkg_removable(const char *pkgid)
+{
+ int ret = 0;
+ bool removable;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_removable(handle, &removable);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg removable: %d\n", removable);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_removable(pkgmgrinfo_pkginfo_h handle, bool *removable);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_movable(pkgmgrinfo_pkginfo_h handle, bool *movable)
+ * @brief This API check that the package can move internal storage to external storage or external storage to internal storage from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] movable pointer to hold package movable state
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @code
+static int get_pkg_movable(const char *pkgid)
+{
+ int ret = 0;
+ bool movable;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_movable(handle, &movable);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg movable: %d\n", movable);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_movable(pkgmgrinfo_pkginfo_h handle, bool *movable);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_preload(pkgmgrinfo_pkginfo_h handle, bool *preload)
+ * @brief This API gets the package 'preload' value from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] preload pointer to hold package preload value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_readonly()
+ * @code
+static int get_pkg_preload(const char *pkgid)
+{
+ int ret = 0;
+ bool preload;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_preload(handle, &preload);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg preload: %d\n", preload);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_preload(pkgmgrinfo_pkginfo_h handle, bool *preload);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_system(pkgmgrinfo_pkginfo_h handle, bool *system)
+ * @brief This API gets the value for given handle is system or not
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] system pointer to hold system is or not
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_readonly()
+ * @code
+static int get_pkg_system(const char *pkgid)
+{
+ int ret = 0;
+ bool system = false;
+ pkgmgrinfo_pkginfo_h handle = NULL;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_system(handle, &system);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg system: %d\n", system);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_system(pkgmgrinfo_pkginfo_h handle, bool *system);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_readonly(pkgmgrinfo_pkginfo_h handle, bool *readonly)
+ * @brief This API gets the package 'readonly' value from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] readonly pointer to hold package readonly value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
+ * @code
+static int get_pkg_readonly(const char *pkgid)
+{
+ int ret = 0;
+ bool readonly;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_readonly(handle, &readonly);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg readonly: %d\n", readonly);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_readonly(pkgmgrinfo_pkginfo_h handle, bool *readonly);
+
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_update(pkgmgrinfo_pkginfo_h handle, bool *update)
+ * @brief This API gets the package 'update' value from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] update pointer to hold package update value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @code
+static int get_pkg_update(const char *pkgid)
+{
+ int ret = 0;
+ bool update;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_update(handle, &update);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg update: %d\n", update);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_update(pkgmgrinfo_pkginfo_h handle, bool *update);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_support_disable(pkgmgrinfo_pkginfo_h handle, bool *support_disable)
+ * @brief This API gets the package 'support_disable' value from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] support_disable pointer to hold package support_disable value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @code
+static int get_pkg_support_disable(const char *pkgid)
+{
+ int ret = 0;
+ bool support_disable;
+ pkgmgrinfo_pkginfo_h handle = NULL;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_support_disable(handle, &support_disable);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg support_disable: %d\n", support_disable);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_support_disable(pkgmgrinfo_pkginfo_h handle, bool *support_disable);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_global(pkgmgrinfo_pkginfo_h handle, bool *global)
+ * @brief This API gets whether the given package is global package or user package
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[in] global pointer to hold package global value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ static int get_pkg_support_disable(const char *pkgid)
+ {
+ int ret = 0;
+ bool global;
+ pkgmgrinfo_pkginfo_h handle = NULL;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_global(handle, &global);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg is_global: %d\n", global);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+ }
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_global(pkgmgrinfo_pkginfo_h handle, bool *global);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_is_accessible(pkgmgrinfo_pkginfo_h handle, bool *accessible)
+ * @brief This API gets the package 'accessible' value from the package ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to package info handle
+ * @param[out] accessible pointer to hold package accessible value
+ * @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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_readonly()
+ * @code
+static int get_pkg_accessible(const char *pkgid)
+{
+ int ret = 0;
+ bool accessible;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_is_accessible(handle, &accessible);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ printf("pkg accessible: %d\n", accessible);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_is_accessible(pkgmgrinfo_pkginfo_h handle, bool *accessible);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_destroy_pkginfo(pkgmgrinfo_pkginfo_h handle)
+ * @brief This API destroys the package information handle freeing up all the resources
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the package info handle
+ * @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_pkginfo_get_pkginfo()
+ * @post None
+ * @see pkgmgrinfo_pkginfo_get_pkgid()
+ * @see pkgmgrinfo_pkginfo_is_removable()
+ * @code
+static int get_pkg_type(const char *pkgid)
+{
+ int ret = 0;
+ char *type = NULL;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_get_type(handle, &type);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_destroy_pkginfo(pkgmgrinfo_pkginfo_h handle);
+int pkgmgrinfo_pkginfo_destroy_pkginfo(pkgmgrinfo_pkginfo_h handle);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_filter_create(pkgmgrinfo_pkginfo_filter_h *handle)
+ * @brief This API creates the package information filter handle from db. All filter properties will be ANDed.
+ The query will search the entire package information collected from the manifest file of all the installed packages
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[out] handle pointer to the package info filter handle.
+ * @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 None
+ * @post pkgmgrinfo_pkginfo_filter_destroy()
+ * @see pkgmgrinfo_pkginfo_filter_count()
+ * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @code
+static int get_tpk_pkg_count()
+{
+ int ret = 0;
+ int count = 0;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "tpk");
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ printf("No of tpk pkgs: %d\n", count);
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_filter_create(pkgmgrinfo_pkginfo_filter_h *handle);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_filter_destroy(pkgmgrinfo_pkginfo_filter_h handle)
+ * @brief This API destroys the package information filter handle freeing up all the resources
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the package info filter handle.
+ * @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_pkginfo_filter_create()
+ * @post None
+ * @see pkgmgrinfo_pkginfo_filter_count()
+ * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @code
+static int get_tpk_pkg_count()
+{
+ int ret = 0;
+ int count = 0;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "tpk");
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ printf("No of tpk pkgs: %d\n", count);
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_filter_destroy(pkgmgrinfo_pkginfo_filter_h handle);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_filter_add_bool(pkgmgrinfo_pkginfo_filter_h handle, const char *property, const bool value)
+ * @brief This API adds a boolean filter property to the filter handle
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the package info filter handle.
+ * @param[in] property boolean property name.
+ * @param[in] value value corresponding to the property.
+ * @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_pkginfo_filter_create()
+ * @post pkgmgrinfo_pkginfo_filter_destroy()
+ * @see pkgmgrinfo_pkginfo_filter_count()
+ * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @code
+static int get_preload_pkg_count()
+{
+ int ret = 0;
+ int count = 0;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_filter_add_bool(handle, PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD, 1);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ printf("No of preload pkgs: %d\n", count);
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_filter_add_bool(pkgmgrinfo_pkginfo_filter_h handle,
+ const char *property, const bool value);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_create(pkgmgrinfo_pkginfo_filter_h *handle)
- * @brief This API creates the package information filter handle from db. All filter properties will be ANDed.
- The query will search the entire package information collected from the manifest file of all the installed packages
+ * @fn int pkgmgrinfo_pkginfo_filter_add_int(pkgmgrinfo_pkginfo_filter_h handle, const char *property, const int value)
+ * @brief This API adds an integer filter property to the filter handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[out] handle pointer to the package info filter handle.
+ * @param[in] handle pointer to the package info filter handle.
+ * @param[in] property integer property name.
+ * @param[in] value value corresponding to the property.
* @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 None
+ * @pre pkgmgrinfo_pkginfo_filter_create()
* @post pkgmgrinfo_pkginfo_filter_destroy()
* @see pkgmgrinfo_pkginfo_filter_count()
* @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
* @code
-static int get_rpm_pkg_count()
+static int get_pkg_count()
{
int ret = 0;
int count = 0;
ret = pkgmgrinfo_pkginfo_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "rpm");
+ ret = pkgmgrinfo_pkginfo_filter_add_int(handle, PMINFO_PKGINFO_PROP_PACKAGE_SIZE, 10);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_pkginfo_filter_destroy(handle);
return -1;
pkgmgrinfo_pkginfo_filter_destroy(handle);
return -1;
}
- printf("No of rpm pkgs: %d\n", count);
+ printf("No of preload pkgs: %d\n", count);
pkgmgrinfo_pkginfo_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_create(pkgmgrinfo_pkginfo_filter_h *handle);
+int pkgmgrinfo_pkginfo_filter_add_int(pkgmgrinfo_pkginfo_filter_h handle,
+ const char *property, const int value);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_destroy(pkgmgrinfo_pkginfo_filter_h handle)
- * @brief This API destroys the package information filter handle freeing up all the resources
+ * @fn int pkgmgrinfo_pkginfo_filter_add_string(pkgmgrinfo_pkginfo_filter_h handle, const char *property, const char *value)
+ * @brief This API adds a string filter property to the filter handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to the package info filter handle.
+ * @param[in] property string property name.
+ * @param[in] value value corresponding to the property.
* @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_pkginfo_filter_create()
- * @post None
+ * @post pkgmgrinfo_pkginfo_filter_destroy()
+ * @see pkgmgrinfo_pkginfo_filter_count()
+ * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @code
+static int get_tpk_pkg_count()
+{
+ int ret = 0;
+ int count = 0;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "tpk");
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ printf("No of tpk pkgs: %d\n", count);
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_filter_add_string(pkgmgrinfo_pkginfo_filter_h handle,
+ const char *property, const char *value);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_filter_foreach_pkginfo(pkgmgrinfo_pkginfo_filter_h handle, pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data)
+ * @brief This API executes the user supplied callback function for each package that satisfy the filter conditions
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the package info filter handle.
+ * @param[in] pkg_cb callback function.
+ * @param[in] user_data user data to be passed to the 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_pkginfo_filter_create()
+ * @post pkgmgrinfo_pkginfo_filter_destroy()
* @see pkgmgrinfo_pkginfo_filter_count()
+ * @code
+int pkg_list_cb(pkgmgrinfo_pkginfo_h handle, void *user_data)
+{
+ char *pkgid = NULL;
+ pkgmgrinfo_pkginfo_get_pkgid(handle, &pkgid);
+ printf("pkg id : %s\n", pkgid);
+ return 0;
+}
+
+static int get_tpk_pkg_list()
+{
+ int ret = 0;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "tpk");
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, pkg_list_cb, NULL);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_filter_foreach_pkginfo(pkgmgrinfo_pkginfo_filter_h handle,
+ pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data);
+int pkgmgrinfo_pkginfo_usr_filter_foreach_pkginfo(pkgmgrinfo_pkginfo_filter_h handle,
+ pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data, uid_t uid);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count)
+ * @fn int pkgmgrinfo_pkginfo_usr_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count, uid_t uid)
+ * @brief This API counts the package that satisfy the filter conditions
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the package info filter handle.
+ * @param[in] count pointer to store the count value.
+ * @param[in] uid the addressee user id of the instruction
+ * @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_pkginfo_filter_create()
+ * @post pkgmgrinfo_pkginfo_filter_destroy()
* @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
* @code
-static int get_rpm_pkg_count()
+static int get_tpk_pkg_count()
+{
+ int ret = 0;
+ int count = 0;
+ pkgmgrinfo_pkginfo_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "tpk");
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return -1;
+ }
+ printf("No of tpk pkgs: %d\n", count);
+ pkgmgrinfo_pkginfo_filter_destroy(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count);
+int pkgmgrinfo_pkginfo_usr_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count, uid_t uid);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_foreach_privilege(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data);
+ * @brief This API gets the list of privilege for a particular package
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] privilege_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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @code
+int privilege_func(const char *name, void *user_data)
+{
+ if (strcmp(name, (char *)user_data) == 0)
+ return -1;
+ else
+ return 0;
+}
+
+static int list_privilege(const char *package, char *privilege)
+{
+ int ret = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_foreach_privilege(handle, privilege_func, (void *)privilege);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_foreach_privilege(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_foreach_appdefined_privilege(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_appdefined_privilege_list_cb privilege_func, void *user_data);
+ * @brief This API gets the list of appdefined privilege for a particular package
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] privilege_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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @code
+int privilege_func(const char *name, const char *license_path, void *user_data)
+{
+ printf("appdefined privilege : %s", name);
+ if (license_path)
+ printf("licensed privilege, lecense path : %s", license_path);
+ return 0;
+}
+
+static int list_appdefined_privilege(const char *package)
+{
+ int ret = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_foreach_appdefined_privilege(handle, privilege_func, NULL);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_foreach_appdefined_privilege(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_appdefined_privilege_list_cb privilege_func, void *user_data);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_foreach_plugin(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_plugin_list_cb plugin_func, void *user_data);
+ * @brief This API gets the list of plugin execution info for a particular package
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] plugin_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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @code
+int plugin_func(const char *pkgid, const char *appid,
+ const char *plugin_type, const char *plugin_name,
+ void *user_data)
+{
+ printf("appid : %s, type : %s, name : %s\n", appid, plugin_type, plugin_name);
+
+ return 0;
+}
+
+static int list_plugin(const char *package)
{
int ret = 0;
- int count = 0;
- pkgmgrinfo_pkginfo_filter_h handle;
- ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "rpm");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
- return -1;
- }
- ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ ret = pkgmgrinfo_pkginfo_foreach_plugin(handle, plugin_func, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("No of rpm pkgs: %d\n", count);
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_destroy(pkgmgrinfo_pkginfo_filter_h handle);
+int pkgmgrinfo_pkginfo_foreach_plugin(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_plugin_list_cb plugin_func, void *user_data);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_add_bool(pkgmgrinfo_pkginfo_filter_h handle, const char *property, const bool value)
- * @brief This API adds a boolean filter property to the filter handle
+ * @fn int pkgmgrinfo_pkginfo_foreach_metadata(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_metadata_list_cb metadata_func, void *user_data);
+ * @brief This API gets the list of metadata for a particular package
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the package info filter handle.
- * @param[in] property boolean property name.
- * @param[in] value value corresponding to the property.
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] metadata_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_pkginfo_filter_create()
- * @post pkgmgrinfo_pkginfo_filter_destroy()
- * @see pkgmgrinfo_pkginfo_filter_count()
- * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @pre pkgmgrinfo_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
* @code
-static int get_preload_pkg_count()
+int metadata_func(const char *key, const char *value, void *user_data)
+{
+ if (strcmp(key, (char *)user_data) == 0) {
+ printf("Value is %s\n", value);
+ return -1;
+ }
+ else
+ return 0;
+}
+
+static int list_metadata(const char *pkgid, char *key)
{
int ret = 0;
- int count = 0;
- pkgmgrinfo_pkginfo_filter_h handle;
- ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(pkgid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_bool(handle, PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD, 1);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
- return -1;
- }
- ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ ret = pkgmgrinfo_pkginfo_foreach_metadata(handle, metadata_func, (void *)key);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- printf("No of preload pkgs: %d\n", count);
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_add_bool(pkgmgrinfo_pkginfo_filter_h handle,
- const char *property, const bool value);
+int pkgmgrinfo_pkginfo_foreach_metadata(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_metadata_list_cb metadata_func, void *user_data);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_add_int(pkgmgrinfo_pkginfo_filter_h handle, const char *property, const int value)
- * @brief This API adds an integer filter property to the filter handle
+ * @fn int pkgmgrinfo_pkginfo_metadata_filter_create(pkgmgrinfo_pkginfo_metadata_filter_h *handle)
+ * @brief This API creates the application's metadata information filter handle from db.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package info filter handle.
- * @param[in] property integer property name.
- * @param[in] value value corresponding to the property.
+ * @param[out] handle pointer to the package metadata info filter handle.
* @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_pkginfo_filter_create()
- * @post pkgmgrinfo_pkginfo_filter_destroy()
- * @see pkgmgrinfo_pkginfo_filter_count()
- * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @pre None
+ * @post pkgmgrinfo_pkginfo_metadata_filter_destroy()
+ * @see pkgmgrinfo_pkginfo_metadata_filter_foreach()
* @code
-static int get_pkg_count()
+int pkg_list_cb(pkgmgrinfo_pkginfo_h handle, void *user_data)
+{
+ char *pkgid = NULL;
+ pkgmgrinfo_pkginfo_get_pkgid(handle, &pkgid);
+ printf("pkgid : %s\n", pkgid);
+ return 0;
+}
+
+static int get_pkg_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- int count = 0;
- pkgmgrinfo_pkginfo_filter_h handle;
- ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_int(handle, PMINFO_PKGINFO_PROP_PACKAGE_SIZE, 10);
+ ret = pkgmgrinfo_pkginfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ ret = pkgmgrinfo_pkginfo_metadata_filter_foreach(handle, pkg_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- printf("No of preload pkgs: %d\n", count);
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_add_int(pkgmgrinfo_pkginfo_filter_h handle,
- const char *property, const int value);
+int pkgmgrinfo_pkginfo_metadata_filter_create(pkgmgrinfo_pkginfo_metadata_filter_h *handle);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_add_string(pkgmgrinfo_pkginfo_filter_h handle, const char *property, const char *value)
- * @brief This API adds a string filter property to the filter handle
+ * @fn int pkgmgrinfo_pkginfo_metadata_filter_destroy(pkgmgrinfo_pkginfo_metadata_filter_h handle)
+ * @brief This API destroys the package's metadata information filter handle.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package info filter handle.
- * @param[in] property string property name.
- * @param[in] value value corresponding to the property.
+ * @param[in] handle pointer to the package metadata info filter handle.
* @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_pkginfo_filter_create()
- * @post pkgmgrinfo_pkginfo_filter_destroy()
- * @see pkgmgrinfo_pkginfo_filter_count()
- * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @pre pkgmgrinfo_pkginfo_metadata_filter_create()
+ * @post None
+ * @see pkgmgrinfo_pkginfo_metadata_filter_foreach()
* @code
-static int get_rpm_pkg_count()
+int pkg_list_cb(pkgmgrinfo_pkginfo_h handle, void *user_data)
+{
+ char *pkgid = NULL;
+ pkgmgrinfo_pkginfo_get_pkgid(handle, &pkgid);
+ printf("pkgid : %s\n", pkgid);
+ return 0;
+}
+
+static int get_pkg_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- int count = 0;
- pkgmgrinfo_pkginfo_filter_h handle;
- ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "rpm");
+ ret = pkgmgrinfo_pkginfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ ret = pkgmgrinfo_pkginfo_metadata_filter_foreach(handle, pkg_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- printf("No of rpm pkgs: %d\n", count);
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_add_string(pkgmgrinfo_pkginfo_filter_h handle,
- const char *property, const char *value);
+int pkgmgrinfo_pkginfo_metadata_filter_destroy(pkgmgrinfo_pkginfo_metadata_filter_h handle);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_foreach_pkginfo(pkgmgrinfo_pkginfo_filter_h handle, pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data)
- * @brief This API executes the user supplied callback function for each package that satisfy the filter conditions
+ * @fn int pkgmgrinfo_pkginfo_metadata_filter_add(pkgmgrinfo_pkginfo_metadata_filter_h handle, const char *key, const char *value)
+ * @brief This API adds filter condition for the query API. The query will search the entire package metadata information collected from
+ * the manifest file of all the installed packages. You can specify value as NULL to search based on key only.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package info filter handle.
- * @param[in] pkg_cb callback function.
- * @param[in] user_data user data to be passed to the callback function
+ * @param[in] handle pointer to the package metadata info filter handle.
+ * @param[in] key pointer to metadata key
+ * @param[in] value pointer to metadata value
* @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_pkginfo_filter_create()
- * @post pkgmgrinfo_pkginfo_filter_destroy()
- * @see pkgmgrinfo_pkginfo_filter_count()
+ * @pre pkgmgrinfo_pkginfo_metadata_filter_create()
+ * @post pkgmgrinfo_pkginfo_metadata_filter_foreach(), pkgmgrinfo_pkginfo_metadata_filter_destroy()
+ * @see pkgmgrinfo_pkginfo_metadata_filter_foreach()
* @code
int pkg_list_cb(pkgmgrinfo_pkginfo_h handle, void *user_data)
{
char *pkgid = NULL;
pkgmgrinfo_pkginfo_get_pkgid(handle, &pkgid);
- printf("pkg id : %s\n", pkgid);
+ printf("pkgid : %s\n", pkgid);
return 0;
}
-static int get_rpm_pkg_list()
+static int get_pkg_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- pkgmgrinfo_pkginfo_filter_h handle;
- ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "rpm");
+ ret = pkgmgrinfo_pkginfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_pkginfo_filter_foreach_pkginfo(handle, pkg_list_cb, NULL);
+ ret = pkgmgrinfo_pkginfo_metadata_filter_foreach(handle, pkg_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_foreach_pkginfo(pkgmgrinfo_pkginfo_filter_h handle,
- pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data);
-int pkgmgrinfo_pkginfo_usr_filter_foreach_pkginfo(pkgmgrinfo_pkginfo_filter_h handle,
- pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data, uid_t uid);
+int pkgmgrinfo_pkginfo_metadata_filter_add(pkgmgrinfo_pkginfo_metadata_filter_h handle,
+ const char *key, const char *value);
/**
- * @fn int pkgmgrinfo_pkginfo_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count)
- * @fn int pkgmgrinfo_pkginfo_usr_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count, uid_t uid)
- * @brief This API counts the package that satisfy the filter conditions
+ * @fn int pkgmgrinfo_pkginfo_metadata_filter_foreach(pkgmgrinfo_pkginfo_metadata_filter_h handle, pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data)
+ * @fn int pkgmgrinfo_pkginfo_usr_metadata_filter_foreach(pkgmgrinfo_pkginfo_metadata_filter_h handle, pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data, uid_t uid)
+ * @brief This API executes the filter query. The query will search the entire package metadata information collected from
+ * the manifest file of all the installed packages. For each package returned by the query, the callback will be called. If callback returns
+ * negative value, no more callbacks will be called and API will return.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package info filter handle.
- * @param[in] count pointer to store the count value.
+ * @param[in] handle pointer to the package metadata info filter handle.
+ * @param[in] app_cb function pointer to callback
+ * @param[in] user_data pointer to user data
* @param[in] uid the addressee user id of the instruction
* @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_pkginfo_filter_create()
- * @post pkgmgrinfo_pkginfo_filter_destroy()
- * @see pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
+ * @pre pkgmgrinfo_pkginfo_metadata_filter_create()
+ * @post pkgmgrinfo_pkginfo_metadata_filter_destroy()
* @code
-static int get_rpm_pkg_count()
+int pkg_list_cb(pkgmgrinfo_pkginfo_h handle, void *user_data)
+{
+ char *pkgid = NULL;
+ pkgmgrinfo_pkginfo_get_pkgid(handle, &pkgid);
+ printf("pkgid : %s\n", pkgid);
+ return 0;
+}
+
+static int get_pkg_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- int count = 0;
- pkgmgrinfo_pkginfo_filter_h handle;
- ret = pkgmgrinfo_pkginfo_filter_create(&handle);
+ pkgmgrinfo_pkginfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_pkginfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_filter_add_string(handle, PMINFO_PKGINFO_PROP_PACKAGE_TYPE, "rpm");
+ ret = pkgmgrinfo_pkginfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_pkginfo_filter_count(handle, &count);
+ ret = pkgmgrinfo_pkginfo_metadata_filter_foreach(handle, pkg_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return -1;
}
- printf("No of rpm pkgs: %d\n", count);
- pkgmgrinfo_pkginfo_filter_destroy(handle);
+ pkgmgrinfo_pkginfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count);
-int pkgmgrinfo_pkginfo_usr_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count, uid_t uid);
+int pkgmgrinfo_pkginfo_metadata_filter_foreach(pkgmgrinfo_pkginfo_metadata_filter_h handle,
+ pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data);
+int pkgmgrinfo_pkginfo_usr_metadata_filter_foreach(pkgmgrinfo_pkginfo_metadata_filter_h handle,
+ pkgmgrinfo_pkg_list_cb pkg_cb, void *user_data, uid_t uid);
+
+/* TODO: add doxygen comment here */
+int pkgmgrinfo_pkginfo_is_for_all_users(pkgmgrinfo_pkginfo_h handle, bool *for_all_users);
+
/**
- * @fn int pkgmgrinfo_pkginfo_foreach_privilege(pkgmgrinfo_pkginfo_h handle,
- pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data);
- * @brief This API gets the list of privilege for a particular package
+ * @fn int pkgmgrinfo_appinfo_clone_appinfo(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_pkginfo_h *clone)
+ * @brief This API copy the application information handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
- * @param[in] handle pointer to the package info handle.
- * @param[in] privilege_func callback function for list
- * @param[in] user_data user data to be passed to callback function
+ *
+ * @param[in] handle pointer to the package info handle.
+ * @param[out] handle pointer to the package info handle.
* @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_pkginfo_get_pkginfo()
- * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @pre None
+ * @post pkgmgrinfo_appinfo_destroy_appinfo()
* @code
-int privilege_func(const char *name, void *user_data)
-{
- if (strcmp(name, (char *)user_data) == 0)
- return -1;
- else
- return 0;
-}
-
-static int list_privilege(const char *package, char *privilege)
+static int get_appinfo_clone(pkgmgrinfo_pkginfo_h handle)
{
int ret = 0;
- pkgmgrinfo_pkginfo_h handle;
- ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
+
+ pkgmgrinfo_pkginfo_h clone;
+
+ ret = pkgmgrinfo_appinfo_clone_appinfo(handle, &clone);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_foreach_privilege(handle, privilege_func, (void *)privilege);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
- return -1;
- }
- pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+
+
+ printf("package: %s\n", clone->package);
+ pkgmgrinfo_appinfo_destroy_appinfo(clone);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_foreach_privilege(pkgmgrinfo_pkginfo_h handle,
- pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data);
+int pkgmgrinfo_appinfo_clone_appinfo(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_pkginfo_h *clone);
-/* TODO: add doxygen comment here */
-int pkgmgrinfo_pkginfo_get_size_from_xml(const char *manifest, int *size);
-int pkgmgrinfo_pkginfo_get_location_from_xml(const char *manifest, pkgmgrinfo_install_location *location);
-int pkgmgrinfo_pkginfo_is_for_all_users(pkgmgrinfo_pkginfo_h handle, bool *for_all_users);
-int pkgmgrinfo_appinfo_set_state_enabled(const char *appid, bool enabled);
-int pkgmgrinfo_appinfo_set_usr_state_enabled(const char *appid, bool enabled, uid_t uid);
-int pkgmgrinfo_appinfo_set_default_label(const char *appid, const char *label);
-int pkgmgrinfo_appinfo_set_usr_default_label(const char *appid, const char *label, uid_t uid);
/**
* @fn int pkgmgrinfo_appinfo_get_list(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_app_component component,
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_list(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_app_component component,
- pkgmgrinfo_app_list_cb app_func, void *user_data);
-int pkgmgrinfo_appinfo_get_usr_list(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_app_component component,
- pkgmgrinfo_app_list_cb app_func, void *user_data, uid_t uid);
-/**
- * @fn int pkgmgrinfo_appinfo_get_install_list(pkgmgrinfo_app_list_cb app_func, void *user_data);
- * @brief This API gets list of installed applications from all packages with minimum informaion.
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- * @param[in] app_func iteration 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 None
- * @post None
- * @code
-int app_list_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
-{
- char *pkgid1 = NULL;
- char *pkgid2 = NULL;
- pkgid1 = (char *)user_data;
- pkgmgrinfo_appinfo_get_pkgid(handle, &pkgid2);
- if (strcmp(pkgid1, pkgid2) == 0) {
- return -1;
- } else {
- return 0;
- }
-}
-
-static int list_apps()
-{
- int ret = 0;
- char *name = "helloworld";
- ret = pkgmgrinfo_appinfo_get_install_list(app_list_cb, (void *)name);
- if (ret != PMINFO_R_OK) {
- return -1;
- }
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_install_list(pkgmgrinfo_app_list_cb app_func, void *user_data);
-int pkgmgrinfo_appinfo_get_usr_install_list(pkgmgrinfo_app_list_cb app_func, uid_t uid, void *user_data);
+int pkgmgrinfo_appinfo_get_list(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_app_component component,
+ pkgmgrinfo_app_list_cb app_func, void *user_data);
+int pkgmgrinfo_appinfo_get_usr_list(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_app_component component,
+ pkgmgrinfo_app_list_cb app_func, void *user_data, uid_t uid);
+
/**
* @fn int pkgmgrinfo_appinfo_get_installed_list(pkgmgrinfo_app_list_cb app_func, void *user_data);
* @brief This API gets list of installed applications from all packages.
int pkgmgrinfo_appinfo_get_usr_installed_list(pkgmgrinfo_app_list_cb app_func, uid_t uid, void *user_data);
/**
+ * @fn int pkgmgrinfo_appinfo_get_disabled_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle)
+ * @brief This API creates the disabled application information handle from db
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] appid pointer to appid
+ * @param[out] handle pointer to the application info handle.
+ * @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 None
+ * @post pkgmgrinfo_appinfo_destroy_appinfo()
+ * @see pkgmgrinfo_appinfo_get_pkgid()
+ * @see pkgmgrinfo_appinfo_is_multiple()
+ * @code
+static int get_disabled_app_type(const char *appid)
+{
+ int ret = 0;
+ char *type = NULL;
+ pkgmgrinfo_appinfo_h handle;
+ ret = pkgmgrinfo_appinfo_get_disabled_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_apptype(handle, &type);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("apptype: %s\n", type);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_disabled_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle);
+int pkgmgrinfo_appinfo_get_usr_disabled_appinfo(const char *appid, uid_t uid, pkgmgrinfo_appinfo_h *handle);
+
+/**
* @fn int pkgmgrinfo_appinfo_get_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle)
* @brief This API creates the application information handle from db
*
*/
int pkgmgrinfo_appinfo_get_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle);
int pkgmgrinfo_appinfo_get_usr_appinfo(const char *appid, uid_t uid, pkgmgrinfo_appinfo_h *handle);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_all_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle)
+ * @brief This API creates the application information handle from db regardless of its disable or storage status
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] appid pointer to appid
+ * @param[out] handle pointer to the application info handle.
+ * @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 None
+ * @post pkgmgrinfo_appinfo_destroy_appinfo()
+ * @see pkgmgrinfo_appinfo_get_pkgid()
+ * @see pkgmgrinfo_appinfo_is_multiple()
+ * @code
+static int get_app_type(const char *appid)
+{
+ int ret = 0;
+ char *type = NULL;
+ pkgmgrinfo_appinfo_h handle;
+ ret = pkgmgrinfo_appinfo_get_all_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_apptype(handle, &type);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("apptype: %s\n", type);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_all_appinfo(const char *appid, pkgmgrinfo_appinfo_h *handle);
+int pkgmgrinfo_appinfo_get_usr_all_appinfo(const char *appid, uid_t uid, pkgmgrinfo_appinfo_h *handle);
+
/**
* @fn int pkgmgrinfo_appinfo_get_appid(pkgmgrinfo_appinfo_h handle, char **appid)
* @brief This API gets the application ID
int pkgmgrinfo_appinfo_usr_get_localed_label(const char *appid, const char *locale, uid_t uid, char **label);
/**
- * @fn int pkgmgrinfo_appinfo_get_component(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_component *component)
- * @brief This API gets the component of the application
+ * @fn int pkgmgrinfo_appinfo_get_metadata_value(pkgmgrinfo_appinfo_h handle, const char *metadata_key, char **metadata_value)
+ * @brief This API gets metadata value by given metadata key
*
* @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[out] component pointer to hold app component
+ * @param[in] handle pointer to the application info handle
+ * @param[in] metadata_key metadata key
+ * @param[out] metadata_value pointer to hold metadata value
* @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()
- * @see pkgmgrinfo_appinfo_get_appid()
- * @see pkgmgrinfo_appinfo_is_multiple()
* @code
-static int get_app_component(const char *appid)
+static int get_metadata_value(const char *appid, const char *metadata_key)
{
int ret = 0;
- pkgmgrinfo_app_component component;
- pkgmgrinfo_appinfo_h handle;
- ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_appinfo_get_component(handle, &component);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return -1;
- }
- printf("component : %s\n", component);
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_component(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_component *component);
+ pkgmgrinfo_appinfo_h handle = NULL;
+ char *metadata_value = NULL;
-/**
- * @fn int pkgmgrinfo_appinfo_get_apptype(pkgmgrinfo_appinfo_h handle, char **app_type)
- * @brief This API gets the apptype of the 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[out] app_type pointer to hold apptype
- * @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()
- * @see pkgmgrinfo_appinfo_get_appid()
- * @see pkgmgrinfo_appinfo_is_multiple()
- * @code
-static int get_app_type(const char *appid)
-{
- int ret = 0;
- char *apptype = NULL;
- pkgmgrinfo_appinfo_h handle;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_apptype(handle, &apptype);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return -1;
- }
- printf("apptype : %s\n", apptype);
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_apptype(pkgmgrinfo_appinfo_h handle, char **app_type);
-
-/**
- * @fn int pkgmgrinfo_appinfo_get_operation(pkgmgrinfo_appcontrol_h handle,
- int *operation_count, char ***operation)
- * @brief This API gets the list of operation of the application
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the appcontrol handle.
- * @param[out] operation_count pointer to hold number of operations
- * @param[out] operation pointer to hold list of operations
- * @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()
- * @see pkgmgrinfo_appinfo_get_uri()
- * @see pkgmgrinfo_appinfo_get_mime()
- * @code
-int appcontrol_func(pkgmgrinfo_appcontrol_h handle, void *user_data)
-{
- int oc = 0;
- int i = 0;
- char **operation;
- pkgmgrinfo_appinfo_get_operation(handle, &oc, &operation);
- for (i = 0; i < oc; i++) {
- if (strcmp(operation[i], (char *)user_data) == 0)
- return -1;
- else
- return 0;
- }
-}
-static int check_operation(const char *appid, char *operation)
-{
- 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_appcontrol(handle, appcontrol_func, (void *)operation);
+ ret = pkgmgrinfo_appinfo_get_metadata_value(handle, metadata_key, &metadata_value);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_operation(pkgmgrinfo_appcontrol_h handle,
- int *operation_count, char ***operation);
-
-/**
- * @fn int pkgmgrinfo_appinfo_get_uri(pkgmgrinfo_appcontrol_h handle,
- int *uri_count, char ***uri)
- * @brief This API gets the list of uri of the application
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the appcontrol handle.
- * @param[out] uri_count pointer to hold number of uris
- * @param[out] uri pointer to hold list of uris
- * @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()
- * @see pkgmgrinfo_appinfo_get_operation()
- * @see pkgmgrinfo_appinfo_get_mime()
- * @code
-int appcontrol_func(pkgmgrinfo_appcontrol_h handle, void *user_data)
-{
- int uc = 0;
- int i = 0;
- char **uri;
- pkgmgrinfo_appinfo_get_uri(handle, &uc, &uri);
- for (i = 0; i < uc; i++) {
- if (strcmp(uri[i], (char *)user_data) == 0)
- return -1;
- else
- return 0;
- }
-}
-static int check_uri(const char *appid, char *uri)
-{
- 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_appcontrol(handle, appcontrol_func, (void *)uri);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return -1;
- }
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_uri(pkgmgrinfo_appcontrol_h handle,
- int *uri_count, char ***uri);
+int pkgmgrinfo_appinfo_get_metadata_value(pkgmgrinfo_appinfo_h handle, const char *metadata_key, char **metadata_value);
/**
- * @fn int pkgmgrinfo_appinfo_get_mime(pkgmgrinfo_appcontrol_h handle,
- int *mime_count, char ***mime)
- * @brief This API gets the list of mime of the application
+ * @fn int pkgmgrinfo_appinfo_get_component(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_component *component)
+ * @brief This API gets the component of the application
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the appcontrol handle.
- * @param[out] mime_count pointer to hold number of mimes
- * @param[out] mime pointer to hold list of mimes
+ * @param[in] handle pointer to the application info handle.
+ * @param[out] component pointer to hold app component
* @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()
- * @see pkgmgrinfo_appinfo_get_uri()
- * @see pkgmgrinfo_appinfo_get_operation()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @see pkgmgrinfo_appinfo_is_multiple()
* @code
-int appcontrol_func(pkgmgrinfo_appcontrol_h handle, void *user_data)
-{
- int mc = 0;
- int i = 0;
- char **mime;
- pkgmgrinfo_appinfo_get_operation(handle, &mc, &mime);
- for (i = 0; i < mc; i++) {
- if (strcmp(mime[i], (char *)user_data) == 0)
- return -1;
- else
- return 0;
- }
-}
-
-static int check_mime(const char *appid, char *mime)
+static int get_app_component(const char *appid)
{
int ret = 0;
+ pkgmgrinfo_app_component component;
pkgmgrinfo_appinfo_h handle;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_foreach_appcontrol(handle, appcontrol_func, (void *)mime);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return -1;
- }
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_mime(pkgmgrinfo_appcontrol_h handle,
- int *mime_count, char ***mime);
-
-/**
- * @fn int pkgmgrinfo_appinfo_get_subapp(pkgmgrinfo_appcontrol_h handle,
- int *subapp_count, char ***subapp)
- * @brief This API gets the list of subapp of the application
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the appcontrol handle.
- * @param[out] subapp_count pointer to hold number of subapp
- * @param[out] subapp pointer to hold list of subapp
- * @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()
- * @see pkgmgrinfo_appinfo_get_uri()
- * @see pkgmgrinfo_appinfo_get_operation()
- * @code
-int appcontrol_func(pkgmgrinfo_appcontrol_h handle, void *user_data)
-{
- int sc = 0;
- int i = 0;
- char **subapp = NULL;
- pkgmgrinfo_appinfo_get_subapp(handle, &sc, &subapp);
- for (i = 0; i < sc; i++) {
- if (strcmp(subapp[i], (char *)user_data) == 0)
- return -1;
- else
- return 0;
- }
-}
-
-static int check_subapp(const char *appid, char *subapp)
-{
- int ret = 0;
- pkgmgrinfo_appinfo_h handle = NULL;
- ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_appinfo_foreach_appcontrol(handle, appcontrol_func, (void *)subapp);
+ ret = pkgmgrinfo_appinfo_get_component(handle, &component);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
+ printf("component : %s\n", component);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_subapp(pkgmgrinfo_appcontrol_h handle,
- int *subapp_count, char ***subapp);
+int pkgmgrinfo_appinfo_get_component(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_component *component);
/**
- * @fn int pkgmgrinfo_appinfo_get_notification_icon(pkgmgrinfo_appinfo_h handle, char **icon)
- * @brief This API gets the notification icon of the application
+ * @fn int pkgmgrinfo_appinfo_get_apptype(pkgmgrinfo_appinfo_h handle, char **app_type)
+ * @brief This API gets the apptype of the 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[out] path pointer to hold notification icon
+ * @param[out] app_type pointer to hold apptype
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @see pkgmgrinfo_appinfo_get_appid()
* @see pkgmgrinfo_appinfo_is_multiple()
* @code
-static int get_app_notification_icon(const char *appid)
+static int get_app_type(const char *appid)
{
int ret = 0;
- char *notification_icon = NULL;
+ char *apptype = NULL;
pkgmgrinfo_appinfo_h handle;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_notification_icon(handle, ¬ification_icon);
+ ret = pkgmgrinfo_appinfo_get_apptype(handle, &apptype);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("notification icon : %s\n", notification_icon);
+ printf("apptype : %s\n", apptype);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_notification_icon(pkgmgrinfo_appinfo_h handle, char **icon);
+int pkgmgrinfo_appinfo_get_apptype(pkgmgrinfo_appinfo_h handle, char **app_type);
/**
- * @fn int pkgmgrinfo_appinfo_get_setting_icon(pkgmgrinfo_appinfo_h handle, char **icon)
- * @brief This API gets the setting icon of the application
+ * @fn int pkgmgrinfo_appinfo_get_notification_icon(pkgmgrinfo_appinfo_h handle, char **icon)
+ * @brief This API gets the notification icon of the 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[out] path pointer to hold setting icon
+ * @param[out] path pointer to hold notification icon
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @see pkgmgrinfo_appinfo_get_appid()
* @see pkgmgrinfo_appinfo_is_multiple()
* @code
-static int get_app_setting_icon(const char *appid)
+static int get_app_notification_icon(const char *appid)
{
int ret = 0;
- char *setting_icon = NULL;
+ char *notification_icon = NULL;
pkgmgrinfo_appinfo_h handle;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_setting_icon(handle, &setting_icon);
+ ret = pkgmgrinfo_appinfo_get_notification_icon(handle, ¬ification_icon);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("setting icon : %s\n", setting_icon);
+ printf("notification icon : %s\n", notification_icon);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_setting_icon(pkgmgrinfo_appinfo_h handle, char **icon);
+int pkgmgrinfo_appinfo_get_notification_icon(pkgmgrinfo_appinfo_h handle, char **icon);
/**
* @fn int pkgmgrinfo_appinfo_get_recent_image_type(pkgmgrinfo_appinfo_h handle, pkgmgrinfo_app_recentimage *type)
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_effectimage_type(handle, &effectimg_type);
+ ret = pkgmgrinfo_appinfo_get_effectimage_type(handle, &effectimg_type);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("app effect image type: %s\n", effectimg_type);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_effectimage_type(pkgmgrinfo_appinfo_h handle, char **effectimg_type);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_submode_mainid(pkgmgrinfo_appinfo_h handle, char **submode_mainid)
+ * @brief This API gets the submode_mainid of the 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[out] submode_mainid pointer to hold package name
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @see pkgmgrinfo_appinfo_is_multiple()
+ * @code
+static int get_app_submode_mainid(const char *appid)
+{
+ int ret = 0;
+ char *submode_mainid = NULL;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_submode_mainid(handle, &submode_mainid);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("submode_mainid: %s\n", submode_mainid);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_submode_mainid(pkgmgrinfo_appinfo_h handle, char **submode_mainid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access);
+ * @brief This API gets the datacontrol info
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] providerid pointer to the providerid of dataconltrol.
+ * @param[in] type pointer to the type of dataconltrol.
+ * @param[out] appid pointer to hold appid, need to free after using
+ * @param[out] access pointer to hold access, need to free after using
+ * @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
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access);
+int pkgmgrinfo_appinfo_usr_get_datacontrol_info(const char *providerid, const char *type, uid_t uid, char **appid, char **access);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid);
+ * @brief This API gets the appid of datacontrol
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] providerid pointer to the providerid of dataconltrol.
+ * @param[out] appid pointer to hold appid, need to free after using
+ * @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
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid);
+int pkgmgrinfo_appinfo_usr_get_datacontrol_appid(const char *providerid, uid_t uid, char **appid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_datacontrol_trusted_info(const char *providerid, char **appid, bool *is_trusted);
+ * @brief This API gets the information about trusted datacontrol
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] providerid pointer to the providerid of datacontrol.
+ * @param[out] appid pointer to hold appid, need to free after using
+ * @param[out] is_trusted pointer to hold whether it provides trusted datacontrol
+ * @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
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_datacontrol_trusted_info(const char *providerid,
+ const char *type, char **appid, bool *is_trusted);
+int pkgmgrinfo_appinfo_usr_get_datacontrol_trusted_info(const char *providerid,
+ const char *type, uid_t uid, char **appid, bool *is_trusted);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_foreach_datacontrol_privileges(const char *providerid, const char *type,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data);
+ * @brief This API retrieves the privileges and invokes given callback for each privilege.
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] providerid pointer to the providerid of datacontrol.
+ * @param[in] type pointer to the type of dataconltrol.
+ * @param[in] privilege_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
+ */
+int pkgmgrinfo_appinfo_foreach_datacontrol_privileges(const char *providerid, const char *type,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data);
+int pkgmgrinfo_appinfo_usr_foreach_datacontrol_privileges(const char *providerid, const char *type,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func, void *user_data, uid_t uid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_alias_appid(pkgmgrinfo_appinfo_h handle, char **alias_appid)
+ * @brief This API gets the alias_appid of the 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[out] alias_appid pointer to hold app alias_appid
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @code
+static int get_alias_appid(const char *appid)
+{
+ int ret = 0;
+ char *alias_appid= 0;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_alias_appid(handle, &alias_appid);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("alias_appid: %s\n", alias_appid);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_alias_appid(pkgmgrinfo_appinfo_h handle, char **alias_appid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_effective_appid(pkgmgrinfo_appinfo_h handle, char **effective_appid)
+ * @brief This API gets the effective_appid of the 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[out] effective_appid pointer to hold app effective_appid
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @code
+static int get_effective_appid(const char *appid)
+{
+ int ret = 0;
+ char *effective_appid= 0;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_effective_appid(handle, &effective_appid);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("effective_appid: %s\n", effective_appid);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_effective_appid(pkgmgrinfo_appinfo_h handle, char **effective_appid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_tep_name(pkgmgrinfo_appinfo_h handle, char **tep_name)
+ * @brief This API gets tep(tizen expansion package) file name associated with the package which contain given application
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the appinfo handle.
+ * @param[out] tep_name pointer to hold tep name
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @code
+static int get_tep_name(const char *appid)
+{
+ int ret = 0;
+ char *tep_name = NULL;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_tep_name(handle, &tep_name);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("TEP name is: %s\n", tep_name);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_get_tep_name(pkgmgrinfo_appinfo_h handle, char **tep_name);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_zip_mount_file(pkgmgrinfo_appinfo_h handle, char **zip_mount_file)
+ * @brief This API gets zip mount file name associated with the package which contain given application
+ * If package is not "mount-installed", zip_mount_file is left as NULL pointer.
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to the appinfo handle.
+ * @param[out] zip_mount_file pointer to hold zip mount file name
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @code
+static int get_zip_mount_file(const char *appid)
+{
+ int ret = 0;
+ char *zip_mount_file = NULL;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_get_zip_mount_file(handle, &zip_mount_file);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("app effect image type: %s\n", effectimg_type);
+ printf("Mount file name is: %s\n", zip_mount_file);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_effectimage_type(pkgmgrinfo_appinfo_h handle, char **effectimg_type);
+int pkgmgrinfo_appinfo_get_zip_mount_file(pkgmgrinfo_appinfo_h handle, char **zip_mount_file);
/**
- * @fn int pkgmgrinfo_appinfo_get_submode_mainid(pkgmgrinfo_appinfo_h handle, char **submode_mainid)
- * @brief This API gets the submode_mainid of the application
+ * @fn int pkgmgrinfo_appinfo_get_root_path(pkgmgrinfo_appinfo_h handle, char **path)
+ * @brief This API gets the root path of 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[out] submode_mainid pointer to hold package name
+ * @param[in] handle pointer to appinfo handle
+ * @param[out] path pointer to hold root path of application
* @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()
- * @see pkgmgrinfo_appinfo_get_appid()
- * @see pkgmgrinfo_appinfo_is_multiple()
* @code
-static int get_app_submode_mainid(const char *appid)
+static int get_root_path(const char *appid)
{
int ret = 0;
- char *submode_mainid = NULL;
- pkgmgrinfo_appinfo_h handle = NULL;
+ char *path = 0;
+ pkgmgrinfo_appinfo_h handle;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_submode_mainid(handle, &submode_mainid);
+
+ ret = pkgmgrinfo_appinfo_get_root_path(handle, &path);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("submode_mainid: %s\n", submode_mainid);
+ printf("path : %s\n", path);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
+
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_submode_mainid(pkgmgrinfo_appinfo_h handle, char **submode_mainid);
-
-/**
- * @fn int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access);
- * @brief This API gets the datacontrol info
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] providerid pointer to the providerid of dataconltrol.
- * @param[in] type pointer to the type of dataconltrol.
- * @param[out] appid pointer to hold appid, need to free after using
- * @param[out] access pointer to hold access, need to free after using
- * @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
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_datacontrol_info(const char *providerid, const char *type, char **appid, char **access);
-int pkgmgrinfo_appinfo_usr_get_datacontrol_info(const char *providerid, const char *type, uid_t uid, char **appid, char **access);
-
-/**
- * @fn int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid);
- * @brief This API gets the appid of datacontrol
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] providerid pointer to the providerid of dataconltrol.
- * @param[out] appid pointer to hold appid, need to free after using
- * @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
- * @endcode
- */
-int pkgmgrinfo_appinfo_get_datacontrol_appid(const char *providerid, char **appid);
-int pkgmgrinfo_appinfo_usr_get_datacontrol_appid(const char *providerid, uid_t uid, char **appid);
+int pkgmgrinfo_appinfo_get_root_path(pkgmgrinfo_appinfo_h handle, char **root_path);
/**
- * @fn int pkgmgrinfo_appinfo_get_alias_appid(pkgmgrinfo_appinfo_h handle, char **alias_appid)
- * @brief This API gets the alias_appid of the application
+ * @fn int pkgmgrinfo_appinfo_get_api_version(pkgmgrinfo_appinfo_h handle, char **api_version)
+ * @brief This API gets the application api_version from the application ID
*
* @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[out] alias_appid pointer to hold app alias_appid
+ * @param[in] handle pointer to appinfo handle
+ * @param[out] api_version pointer to hold application api_version
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @post pkgmgrinfo_appinfo_destroy_appinfo()
* @see pkgmgrinfo_appinfo_get_appid()
* @code
-static int get_alias_appid(const char *appid)
+static int get_app_api_version(const char *appid)
{
int ret = 0;
- char *alias_appid= 0;
+ char *api_version = NULL;
pkgmgrinfo_appinfo_h handle = NULL;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_alias_appid(handle, &alias_appid);
+ ret = pkgmgrinfo_appinfo_get_api_version(handle, &api_version);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("alias_appid: %s\n", alias_appid);
+ printf("app api_version: %s\n", api_version);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_alias_appid(pkgmgrinfo_appinfo_h handle, char **alias_appid);
+int pkgmgrinfo_appinfo_get_api_version(pkgmgrinfo_appinfo_h handle, char **api_version);
/**
- * @fn int pkgmgrinfo_appinfo_get_effective_appid(pkgmgrinfo_appinfo_h handle, char **effective_appid)
- * @brief This API gets the effective_appid of the application
+ * @fn int pkgmgrinfo_appinfo_get_installed_time(pkgmgrinfo_appinfo_h handle, int *installed_time)
+ * @brief This API gets the installed_time of the 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[out] effective_appid pointer to hold app effective_appid
+ * @param[out] installed_time pointer to hold installed_time
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @pre pkgmgrinfo_appinfo_get_appinfo()
* @post pkgmgrinfo_appinfo_destroy_appinfo()
* @see pkgmgrinfo_appinfo_get_appid()
+ * @see pkgmgrinfo_appinfo_is_multiple()
* @code
-static int get_effective_appid(const char *appid)
+static int get_app_installed_time(const char *appid)
{
int ret = 0;
- char *effective_appid= 0;
+ int installed_time = 0;
pkgmgrinfo_appinfo_h handle = NULL;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_get_effective_appid(handle, &effective_appid);
+ ret = pkgmgrinfo_appinfo_get_installed_time(handle, &installed_time);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("effective_appid: %s\n", effective_appid);
+ printf("installed_time: %d\n", installed_time);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_get_effective_appid(pkgmgrinfo_appinfo_h handle, char **effective_appid);
+int pkgmgrinfo_appinfo_get_installed_time(pkgmgrinfo_appinfo_h handle, int *installed_time);
/**
- * @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
+ * @fn int pkgmgrinfo_appinfo_get_support_mode(pkgmgrinfo_appinfo_h handle, int *support_mode)
+ * @brief This API gets the support_mode of the 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
+ *
+ * @param[in] handle pointer to the application info handle.
+ * @param[out] support_mode pointer to hold app support_mode
* @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
* @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)
+static int get_app_support_mode(const char *appid)
{
int ret = 0;
- pkgmgrinfo_appinfo_h handle;
+ int support_mode = 0;
+ pkgmgrinfo_appinfo_h handle = NULL;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_foreach_permission(handle, permission_func, (void *)permission);
+ ret = pkgmgrinfo_appinfo_get_support_mode(handle, &support_mode);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
+ printf("support_mode: %s\n", support_mode);
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);
+int pkgmgrinfo_appinfo_get_support_mode(pkgmgrinfo_appinfo_h handle, int *support_mode);
+
/**
* @fn int pkgmgrinfo_appinfo_foreach_category(pkgmgrinfo_appinfo_h handle,
int pkgmgrinfo_appinfo_foreach_metadata(pkgmgrinfo_appinfo_h handle,
pkgmgrinfo_app_metadata_list_cb metadata_func, void *user_data);
+/**
+ * @fn int pkgmgrinfo_appinfo_foreach_appcontrol_privileges(const char *appid,
+ * const char *operation,
+ * pkgmgrinfo_pkg_privilege_list_cb privilege_func,
+ * void *user_data);
+ * @brief This API gets the list of privileges for a particular
+ * appllication's app_control
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] appid application id
+ * @param[in] operation operation of appcontrol
+ * @param[in] privilege_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
+ */
+int pkgmgrinfo_appinfo_usr_foreach_appcontrol_privileges(const char *appid,
+ const char *operation,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func,
+ void *user_data, uid_t uid);
+int pkgmgrinfo_appinfo_foreach_appcontrol_privileges(const char *appid,
+ const char *operation,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func,
+ void *user_data);
/**
* @fn int pkgmgrinfo_appinfo_foreach_appcontrol(pkgmgrinfo_appinfo_h handle,
* @pre pkgmgrinfo_appinfo_get_appinfo()
* @post pkgmgrinfo_appinfo_destroy_appinfo()
* @code
-int appcontrol_func(pkgmgrinfo_appcontrol_h handle, void *user_data)
+int appcontrol_func(const char *operation, const char *uri, const char *mime, void *user_data)
{
- int oc = 0;
int i = 0;
char **operation;
- pkgmgrinfo_appinfo_get_operation(handle, &oc, &operation);
- for (i = 0; i < oc; i++) {
- if (strcmp(operation[i], (char *)user_data) == 0)
- return -1;
- else
- return 0;
- }
+ char *compare_data = (char *)user_data;
+ if (strcmp(operation, compare_data) == 0)
+ return -1;
+ else
+ return 0;
}
static int check_operation(const char *appid, char *operation)
int pkgmgrinfo_appinfo_foreach_appcontrol(pkgmgrinfo_appinfo_h handle,
pkgmgrinfo_app_control_list_cb appcontrol_func, void *user_data);
+int pkgmgrinfo_appinfo_foreach_remote_appcontrol(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_control_list_cb appcontrol_func, void *user_data);
+
/**
* @brief
*/
pkgmgrinfo_app_background_category_list_cb category_func, void *user_data);
/**
+ * @fn int pkgmgrinfo_appinfo_foreach_splash_screen(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_splash_screen_list_cb splash_screen_func, void *user_data);
+ * @brief This API gets the list of splashscreen 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] splash_screen_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 pkgmgrinfo_appinfo_foreach_splash_screen(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_splash_screen_list_cb splash_screen_func, void *user_data);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_foreach_res_control(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_res_control_list_cb res_control_func, void *user_data);
+ * @brief This API gets the list of resource control 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] res_control_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 res_control_func(const char *res_type,
+ const char *min_res_version, const char *max_res_version,
+ const char *auto_close, void *user_data)
+{
+ printf("res_type : %s\n", res_type);
+ return 0;
+}
+
+static int list_res_control(const char *appid, char *key)
+{
+ 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_res_control(handle, res_control_func, NULL);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_foreach_res_control(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_res_control_list_cb res_control_func,
+ void *user_data);
+
+/**
* @fn int pkgmgrinfo_appinfo_is_nodisplay(pkgmgrinfo_appinfo_h handle, bool *nodisplay)
* @brief This API gets the application 'nodisplay' value from the app ID
*
* @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[out] app_type pointer to hold installed storage location
+ * @param[in] handle pointer to the application info handle.
+ * @param[out] app_type pointer to hold installed storage location
* @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()
+ * @post pkgmgrinfo_appinfo_destroy_appinfo()
* @see pkgmgrinfo_appinfo_get_appid()
* @code
static int get_app_installed_location(const char *appid)
* @par Sync (or) Async : Synchronous API
*
* @param[in] handle pointer to application info handle
- * @param[out] support_disable pointer to hold package support_disable value
+ * @param[out] support_disable pointer to hold package support_disable value
+ * @return 0 if success, error code(<0) if fail
+ * @retval PMINFO_R_OK success
+ * @retval PMINFO_R_EINVAL invalid argument
+ * @pre pkgmgrinfo_appinfo_get_appinfo()
+ * @post pkgmgrinfo_appinfo_destroy_appinfo()
+ * @code
+static int get_app_support_disable(const char *appid)
+{
+ int ret = 0;
+ bool support_disable;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_is_support_disable(handle, &support_disable);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("app support_disable: %d\n", support_disable);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_is_support_disable(pkgmgrinfo_appinfo_h handle, bool *support_disable);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_is_removable(pkgmgrinfo_appinfo_h handle, bool *removable)
+ * @brief This API gets the application 'removable' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] removable pointer to hold package removable value
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @code
+static int get_app_removable(const char *appid)
+{
+ int ret = 0;
+ bool removable;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_is_removable(handle, &removable);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("app removable: %d\n", removable);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_is_removable(pkgmgrinfo_appinfo_h handle, bool *removable);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_is_system(pkgmgrinfo_appinfo_h handle, bool *system)
+ * @brief This API gets the application 'system' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] system pointer to hold package system value
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @code
+static int get_app_system(const char *appid)
+{
+ int ret = 0;
+ bool system = false;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_is_system(handle, &system);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("app system: %d\n", system);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_is_system(pkgmgrinfo_appinfo_h handle, bool *system);
+
+
+/**
+ * @fn int pkgmgrinfo_appinfo_is_disabled(pkgmgrinfo_appinfo_h handle, bool *disabled)
+ * @brief This API gets the application 'is_disable' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] disabled pointer to hold application is_disabled value
* @return 0 if success, error code(<0) if fail
* @retval PMINFO_R_OK success
* @retval PMINFO_R_EINVAL invalid argument
* @pre pkgmgrinfo_appinfo_get_appinfo()
* @post pkgmgrinfo_appinfo_destroy_appinfo()
* @code
-static int get_app_support_disable(const char *appid)
+static int get_app_is_disable(const char *appid)
{
int ret = 0;
- bool support_disable;
+ bool is_disable;
pkgmgrinfo_appinfo_h handle = NULL;
ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_is_support_disable(handle, &support_disable);
+ ret = pkgmgrinfo_appinfo_is_disabled(handle, &is_disable);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
}
- printf("app support_disable: %d\n", support_disable);
+ printf("app is_disable: %d\n", is_disable);
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_appinfo_is_support_disable(pkgmgrinfo_appinfo_h handle, bool *support_disable);
+int pkgmgrinfo_appinfo_is_disabled(pkgmgrinfo_appinfo_h handle, bool *disabled);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_is_global(pkgmgrinfo_appinfo_h handle, bool *global)
+ * @brief This API gets whether the given application is global application or user application
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[in] global pointer to hold application global value
+ * @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()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ static int get_app_is_global(const char *appid)
+ {
+ int ret = 0;
+ bool global;
+ pkgmgrinfo_appinfo_h handle = NULL;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_appinfo_is_global(handle, &global);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("app is_global: %d\n", global);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+ }
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_is_global(pkgmgrinfo_appinfo_h handle, bool *global);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_splash_screen_display(pkgmgrinfo_appinfo_h handle, bool *splash_screen_display)
+ * @brief This API gets the application 'splash_screen_display' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] splash_screen_display pointer to hold package splash_screen_display value
+ * @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
+ */
+int pkgmgrinfo_appinfo_get_splash_screen_display(pkgmgrinfo_appinfo_h handle, bool *splash_screen_display);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_setup_appid(pkgmgrinfo_appinfo_h handle, char **setup_appid)
+ * @brief This API gets the application 'setup_appid' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] setup_appid pointer to hold package setup_appid value
+ * @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
+ */
+int pkgmgrinfo_appinfo_get_setup_appid(pkgmgrinfo_appinfo_h handle, char **setup_appid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_is_support_ambient(pkgmgrinfo_appinfo_h handle, bool *support_ambient)
+ * @brief This API gets the application 'support_ambient' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] support_ambient pointer to hold package support_ambient value
+ * @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
+ */
+int pkgmgrinfo_appinfo_is_support_ambient(pkgmgrinfo_appinfo_h handle, bool *support_ambient);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_get_light_user_switch_mode(pkgmgrinfo_appinfo_h handle, char *mode)
+ * @brief This API gets the application 'light_user_switch_mode' value from the app ID
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in] handle pointer to application info handle
+ * @param[out] mode pointer to hold package light_user_switch_mode value
+ * @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
+ */
+int pkgmgrinfo_appinfo_get_light_user_switch_mode(pkgmgrinfo_appinfo_h handle, char **mode);
/**
* @fn int pkgmgrinfo_appinfo_destroy_appinfo(pkgmgrinfo_appinfo_h handle)
pkgmgrinfo_app_list_cb app_cb, void *user_data);
int pkgmgrinfo_appinfo_usr_metadata_filter_foreach(pkgmgrinfo_appinfo_metadata_filter_h handle,
pkgmgrinfo_app_list_cb app_cb, void *user_data, uid_t uid);
+
+/**
+ * @fn int pkgmgrinfo_appinfo_foreach_appcontrol_v2(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_control_list_cb_v2 appcontrol_func, void *user_data);
+ * @fn int pkgmgrinfo_appinfo_foreach_remote_appcontrol_v2(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_control_list_cb_v2 appcontrol_func, void *user_data);
+ * @brief This API gets the list of app-control 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] appcontrol_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()
+ */
+int pkgmgrinfo_appinfo_foreach_appcontrol_v2(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_control_list_cb_v2 appcontrol_func,
+ void *user_data);
+int pkgmgrinfo_appinfo_foreach_remote_appcontrol_v2(pkgmgrinfo_appinfo_h handle,
+ pkgmgrinfo_app_control_list_cb_v2 appcontrol_func,
+ void *user_data);
/**
* @fn int pkgmgrinfo_pkginfo_create_certinfo(pkgmgrinfo_certinfo_h *handle)
* @brief This API creates the package cert information handle to get data from db.
}
* @endcode
*/
- int pkgmgrinfo_delete_certinfo(const char *pkgid);
- int pkgmgrinfo_delete_usr_certinfo(const char *pkgid, uid_t uid);
+int pkgmgrinfo_delete_certinfo(const char *pkgid);
+int pkgmgrinfo_delete_usr_certinfo(const char *pkgid, uid_t uid);
+
/**
- * @fn int pkgmgrinfo_create_pkgdbinfo(const char *pkgid, pkgmgrinfo_pkgdbinfo_h *handle)
- * @fn int pkgmgrinfo_create_pkgusrdbinfo(const char *pkgid, pkgmgrinfo_pkgdbinfo_h *handle)
- * @brief This API creates the package db information handle to set data in db.
+ * @fn int pkgmgrinfo_create_certinfo_set_handle(pkgmgrinfo_instcertinfo_h *handle)
+ * @brief This API creates the package cert information handle to set data in db.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] pkgid pointer to the package ID.
- * @param[in] uid the addressee user id of the instruction
- * @param[out] handle pointer to the package db info handle.
+ * @param[out] handle pointer to the package cert handle.
* @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 None
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @post pkgmgrinfo_destroy_certinfo_set_handle()
+ * @see pkgmgrinfo_set_cert_value()
+ * @see pkgmgrinfo_save_certinfo()
* @code
-static int set_pkg_in_db(const char *pkgid)
+static int set_cert_in_db(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_instcertinfo_h handle;
+ ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, "0.0.1");
+ ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_save_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_create_pkgdbinfo(const char *pkgid, pkgmgrinfo_pkgdbinfo_h *handle);
-int pkgmgrinfo_create_pkgusrdbinfo(const char *pkgid, uid_t uid, pkgmgrinfo_pkgdbinfo_h *handle);
+int pkgmgrinfo_create_certinfo_set_handle(pkgmgrinfo_instcertinfo_h *handle);
/**
- * @fn int pkgmgrinfo_set_type_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *type)
- * @brief This API sets the package type in db handle
+ * @fn int pkgmgrinfo_set_cert_value(pkgmgrinfo_instcertinfo_h handle, pkgmgrinfo_instcert_type cert_type, char *cert_value)
+ * @brief This API sets the package cert information in the handle.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] type pointer to the package type.
+ * @param[in] handle pointer to the package cert handle.
+ * @param[in] cert_type certificate type.
+ * @param[in] cert_value certificate value.
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_version_to_pkgdbinfo()
+ * @pre pkgmgrinfo_create_certinfo_set_handle()
+ * @post pkgmgrinfo_destroy_certinfo_set_handle()
+ * @see pkgmgrinfo_save_certinfo()
* @code
-static int set_pkg_type_in_db(const char *pkgid)
+static int set_cert_in_db(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_instcertinfo_h handle;
+ ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_type_to_pkgdbinfo(handle, "wgt");
+ ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_save_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_type_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *type);
+int pkgmgrinfo_set_cert_value(pkgmgrinfo_instcertinfo_h handle, pkgmgrinfo_instcert_type cert_type, char *cert_value);
/**
- * @fn int pkgmgrinfo_set_version_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *version)
- * @brief This API sets the package version in db handle
+ * @fn int pkgmgrinfo_save_certinfo(const char *pkgid, pkgmgrinfo_instcertinfo_h handle)
+ * @brief This API saves the package cert information in the DB.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] version pointer to the package version
+ * @param[in] pkgid pointer to the package ID.
+ * @param[in] handle pointer to the package cert handle.
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_create_certinfo_set_handle()
+ * @post pkgmgrinfo_destroy_certinfo_set_handle()
+ * @see pkgmgrinfo_save_certinfo()
* @code
-static int set_pkg_version_in_db(const char *pkgid)
+static int set_cert_in_db(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_instcertinfo_h handle;
+ ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, "0.0.1");
+ ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_save_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_version_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *version);
+int pkgmgrinfo_save_certinfo(const char *pkgid, pkgmgrinfo_instcertinfo_h handle, uid_t uid);
/**
- * @fn int pkgmgrinfo_set_install_location_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, INSTALL_LOCATION location)
- * @brief This API sets the package install location in db handle
+ * @fn int pkgmgrinfo_destroy_certinfo_set_handle(pkgmgrinfo_instcertinfo_h handle)
+ * @brief This API destroys the package cert information handle freeing up all the resources.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] location package install location
+ * @param[in] handle pointer to the package cert handle.
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_create_certinfo_set_handle()
+ * @post None
+ * @see pkgmgrinfo_save_certinfo()
* @code
-static int set_pkg_install_location_in_db(const char *pkgid)
+static int set_cert_in_db(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_instcertinfo_h handle;
+ ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_install_location_to_pkgdbinfo(handle, INSTALL_INTERNAL);
+ ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_save_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_destroy_certinfo_set_handle(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_install_location_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, INSTALL_LOCATION location);
+int pkgmgrinfo_destroy_certinfo_set_handle(pkgmgrinfo_instcertinfo_h handle);
/**
- * @fn int pkgmgrinfo_set_size_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *size)
- * @brief This API sets the package size in db handle
+ * @fn int pkgmgrinfo_appinfo_is_guestmode_appstatus(pkgmgrinfo_appinfo_h handle, bool *status)
+ * @brief This API gets the application 'guest mode visibility' value from the DB
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] size pointer to the package size
+ * @param[in] handle pointer to application info handle
+ * @param[out] status pointer to hold app guest mode visibility value
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_appinfo_get_appinfo()
+ * @post pkgmgrinfo_appinfo_destroy_appinfo()
+ * @see pkgmgrinfo_appinfo_get_appid()
+ * @see pkgmgrinfo_appinfo_is_multiple()
* @code
-static int set_pkg_size_in_db(const char *pkgid)
+static int get_app_guestmode_visibility(const char *appid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ bool status;
+ pkgmgrinfo_appinfo_h handle;
+ ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_size_to_pkgdbinfo(handle, "15");
+ ret = pkgmgrinfo_appinfo_is_guestmode_visibility(handle, &status);
+ if (ret != PMINFO_R_OK) {
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return -1;
+ }
+ printf("app guest mode visibility: %d\n", status);
+ pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_appinfo_is_guestmode_visibility(pkgmgrinfo_appinfo_h handle, bool *status);
+
+/**
+* @fn int pkgmgrinfo_pkginfo_set_installed_storage(const char *pkgid, INSTALL_LOCATION location)
+* @brief This API sets the package 'installed_storage' value in db
+*
+* @par This API is for package-manager client application
+* @par Sync (or) Async : Synchronous API
+*
+* @param[in] pkgid pointer to the package ID.
+* @param[in] location package install location
+* @param[in] external_pkg_path image path if pkg has installed at external storage
+* @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
+* @code
+static int set_app_installed_storage(const char *appid, INSTALL_LOCATION location)
+{
+ int ret = 0;
+
+ ret = pkgmgrinfo_pkginfo_set_installed_storage(handle, INSTALL_EXTERNAL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ return 0;
+}
+* @endcode
+*/
+int pkgmgrinfo_pkginfo_set_installed_storage(const char *pkgid, INSTALL_LOCATION location, const char *external_pkg_path);
+int pkgmgrinfo_pkginfo_set_usr_installed_storage(const char *pkgid, INSTALL_LOCATION location, const char *external_pkg_path, uid_t uid);
+
+/* version compare */
+int pkgmgrinfo_compare_package_version(const char *current_version,
+ const char *target_version, pkgmgrinfo_version_compare_type *res);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_foreach_dependency(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_dependency_list_cb dependency_cb,
+ void *user_data);
+ * @brief This API gets the list of dependency of a particular package
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] dependency_cb 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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @code
+int dependency_cb(const char *from const char *to, const char *type,
+ const char *required_version,void *user_data)
+{
+ printf("this package %s %s", type, to);
+ if (required_version)
+ printf("required version : %s", required_version);
+ return 0;
+}
+
+static int list_dependency(const char *package)
+{
+ int ret = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
+ if (ret != PMINFO_R_OK)
+ return -1;
+ ret = pkgmgrinfo_pkginfo_foreach_dependency(handle, dependency_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_size_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *size);
+int pkgmgrinfo_pkginfo_foreach_dependency(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_dependency_list_cb dependency_cb,
+ void *user_data);
/**
- * @fn int pkgmgrinfo_set_label_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *label, const char *locale)
- * @brief This API sets the package label in db handle
+ * @fn int pkgmgrinfo_pkginfo_foreach_depends_on(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_dependency_list_cb dependency_cb,
+ void *user_data);
+ * @brief This API gets the list of packages which has dependency directly
+ * and indirectly of a particular package
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] label pointer to the package label
- * @param[in] locale pointer to the locale
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] dependency_cb 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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
* @code
-static int set_pkg_label_in_db(const char *pkgid)
+int dependency_cb(const char *from, const char *to, const char *type,
+ const char *required_version,void *user_data)
+{
+ printf("%s %s %s package", from, to, type);
+ if (required_version)
+ printf("required version : %s", required_version);
+ return 0;
+}
+
+static int list_depends_on(const char *package)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_label_to_pkgdbinfo(handle, "helloworld", "en-us");
+ ret = pkgmgrinfo_pkginfo_foreach_depends_on(handle, dependency_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return -1;
+ }
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
+ return 0;
+}
+ * @endcode
+ */
+int pkgmgrinfo_pkginfo_foreach_depends_on(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_pkg_dependency_list_cb dependency_cb,
+ void *user_data);
+
+/**
+ * @fn int pkgmgrinfo_pkginfo_foreach_res_allowed_package(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_res_allowed_package_list_cb res_allowed_package_cb,
+ void *user_data)
+ * @brief This API gets the list of allowed package for a particular package
+ *
+ * @par This API is for package-manager client application
+ * @par Sync (or) Async : Synchronous API
+ * @param[in] handle pointer to the package info handle.
+ * @param[in] res_allowed_package_cb 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_pkginfo_get_pkginfo()
+ * @post pkgmgrinfo_pkginfo_destroy_pkginfo()
+ * @code
+int res_allowed_package_cb(const char *allowed_package,
+ required_privilege_h handle, void *user_data)
+{
+ printf("allowed package : %s", allowed_package);
+
+ return 0;
+}
+
+static int list_res_allowed_package(const char *package)
+{
+ int ret = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
+ if (ret != PMINFO_R_OK)
return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_pkginfo_foreach_res_allowed_package(handle, res_allowed_package_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_label_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *label, const char *locale);
+int pkgmgrinfo_pkginfo_foreach_res_allowed_package(pkgmgrinfo_pkginfo_h handle,
+ pkgmgrinfo_res_allowed_package_list_cb res_allowed_package_cb,
+ void *user_data);
/**
- * @fn int pkgmgrinfo_set_icon_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *icon, const char *locale)
- * @brief This API sets the package icon in db handle
+ * @fn int pkgmgrinfo_pkginfo_foreach_required_privilege(
+ required_privilege_h handle,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func,
+ void *user_data)
+ * @brief This API gets the list of allowed package's required privileges
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] icon pointer to the package icon
- * @param[in] locale pointer to the locale
+ * @param[in] handle pointer to the required privilege handle.
+ * @param[in] privilege_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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_pkginfo_foreach_res_allowed_package()
+ * @post None
* @code
-static int set_pkg_icon_in_db(const char *pkgid)
+int privilege_func(const char *privilege_name, void *user_data)
+{
+ printf("required privilege : %s", privilege_name);
+
+ return 0;
+}
+
+int res_allowed_package_cb(const char *allowed_package,
+ required_privilege_h handle, void *user_data)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ printf("allowed package : %s", allowed_package);
+
+ ret = pkgmgrinfo_pkginfo_foreach_required_privilege(handle, privilege_func, user_data);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_icon_to_pkgdbinfo(handle, "helloworld.png", "en-us");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+
+ return 0;
+}
+
+static int list_res_allowed_package(const char *package)
+{
+ int ret = 0;
+ pkgmgrinfo_pkginfo_h handle;
+ ret = pkgmgrinfo_pkginfo_get_pkginfo(package, &handle);
+ if (ret != PMINFO_R_OK)
return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_pkginfo_foreach_res_allowed_package(handle, res_allowed_package_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_pkginfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_icon_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *icon, const char *locale);
+int pkgmgrinfo_pkginfo_foreach_required_privilege(
+ required_privilege_h handle,
+ pkgmgrinfo_pkg_privilege_list_cb privilege_func,
+ void *user_data);
/**
- * @fn int pkgmgrinfo_set_description_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *description, const char *locale)
- * @brief This API sets the package description in db handle
+ * @fn int pkgmgrinfo_pkginfo_get_list_full(pkgmgrinfo_pkg_list_cb pkg_list_cb, int flag, void *user_data)
+ * @brief This API gets list of installed packages using flag that used for masking package's information
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] description pointer to the package description
- * @param[in] locale pointer to the locale
+ * @param[in] pkg_list_cb iteration function for list
+ * @param[in] flag enum value of pkgmgrinfo_pkginfo_get_option used for masking package's information
+ * @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre None
+ * @post None
+ * @see pkgmgrinfo_pkginfo_get_option
* @code
-static int set_pkg_description_in_db(const char *pkgid)
+int pkg_list_cb(pkgmgrinfo_pkginfo_h handle, void *user_data)
+{
+ char *label1 = NULL;
+ char *label2 = NULL;
+ label1 = (char *)user_data;
+ pkgmgrinfo_pkginfo_get_label(handle, &label2);
+ if (strcmp(label1, label2) == 0)
+ return -1;
+ else
+ return 0;
+}
+
+static int list_pkgs()
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ char *label = "helloworld";
+ ret = pkgmgrinfo_pkginfo_get_list_full(pkg_list_cb, PMINFO_PKGINFO_GET_LABEL, (void *)name);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_description_to_pkgdbinfo(handle, "helloworld application", "en-us");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- pkgmgrinfo_destroy_pkgdbinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_description_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *description, const char *locale);
+int pkgmgrinfo_pkginfo_get_usr_list_full(pkgmgrinfo_pkg_list_cb pkg_list_cb,
+ int flag, void *user_data, uid_t uid);
+int pkgmgrinfo_pkginfo_get_list_full(pkgmgrinfo_pkg_list_cb pkg_list_cb,
+ int flag, void *user_data);
/**
- * @fn int pkgmgrinfo_set_author_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *author_name,
- const char *author_email, const char *author_href, const char *locale)
- * @brief This API sets the package author info in db handle
+ * @fn int pkgmgrinfo_appinfo_get_installed_list_full(pkgmgrinfo_app_list_cb app_func, int flag, void *user_data)
+ * @brief This API gets list of installed applications from all packages using flag that used for masking application's information
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
- *
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] author_name pointer to the package author name
- * @param[in] author_email pointer to the package author email
- * @param[in] author_href pointer to the package author href
- * @param[in] locale pointer to the locale
+ * @param[in] app_func iteration function for list
+ * @param[in] flag enum value of pkgmgrinfo_appinfo_get_option used for masking application's information
+ * @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre None
+ * @post None
+ * @see pkgmgrinfo_appinfo_get_option
* @code
-static int set_pkg_author_in_db(const char *pkgid)
+int app_list_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_set_author_to_pkgdbinfo(handle, "John", "john@samsung.com", "www.samsung.com", "en-us");
+ char *label1 = NULL;
+ char *label2 = NULL;
+ label1 = (char *)user_data;
+ ret = pkgmgrinfo_appinfo_get_label(handle, &label2);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("pkgmgrinfo_appinfo_get_label fail");
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ if (strcmp(label1, label2) == 0)
+ return -1;
+ else
+ return 0;
+}
+
+static int list_apps()
+{
+ int ret = 0;
+ char *label = "helloworld";
+ ret = pkgmgrinfo_appinfo_get_installed_list_full(app_list_cb, PMINFO_APPINFO_GET_LABEL, (void *)label);
+ if (ret != PMINFO_R_OK)
return -1;
- }
- pkgmgrinfo_destroy_pkgdbinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_author_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *author_name,
- const char *author_email, const char *author_href, const char *locale);
+int pkgmgrinfo_appinfo_get_usr_installed_list_full(
+ pkgmgrinfo_app_list_cb app_func, uid_t uid, int flag,
+ void *user_data);
+int pkgmgrinfo_appinfo_get_installed_list_full(
+ pkgmgrinfo_app_list_cb app_func, int flag, void *user_data);
/**
- * @fn int pkgmgrinfo_set_removable_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, int removable)
- * @brief This API sets the package 'removable' value in db handle
+ * @fn int pkgmgrinfo_archiveinfo_get_archiveinfo(const char *path, pkgmgrinfo_archiveinfo_h *handle)
+ * @brief This API creates the package archive information handle from given path
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] removable package removable value
+ * @param[in] path path of package archive
+ * @param[out] handle pointer to the package archive info handle
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre None
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_pkg_removable_in_db(const char *pkgid)
+static int get_pkg_archive_type(const char *path)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ char *type = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_removable_to_pkgdbinfo(handle, 1);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_archiveinfo_get_type(handle, &type);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("pkg archive type: %s\n", type);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_removable_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, int removable);
+int pkgmgrinfo_archiveinfo_get_archiveinfo(const char *path,
+ pkgmgrinfo_archiveinfo_h *handle);
/**
- * @fn int pkgmgrinfo_set_preload_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, int preload)
- * @brief This API sets the package 'preload' value in db handle
+ * @fn int pkgmgrinfo_archiveinfo_destroy_archiveinfo(pkgmgrinfo_archiveinfo_h handle)
+ * @brief This API destroys the package archive information handle freeing up all the resources
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] preload package preload value
+ * @param[in] handle pointer to the package archive info handle
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post None
* @code
-static int set_pkg_preload_in_db(const char *pkgid)
+static int get_pkg_archive_type(const char *path)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ char *type = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_preload_to_pkgdbinfo(handle, 1);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_archiveinfo_get_type(handle, &type);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("pkg archive type: %s\n", type);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_preload_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, int preload);
+int pkgmgrinfo_archiveinfo_destroy_archiveinfo(pkgmgrinfo_archiveinfo_h handle);
/**
- * @fn int pkgmgrinfo_set_installed_storage_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, INSTALL_LOCATION location)
- * @brief This API sets the package 'installed_storage' value in db handle
+ * @fn int pkgmgrinfo_archiveinfo_get_pkgid(pkgmgrinfo_archiveinfo_h handle, char **pkgid)
+ * @brief This API gets the package id from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the pkgdbinfo handle.
- * @param[in] location installed_storage value
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] pkgid pointer to hold package id
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_pkg_installed_storage_in_db(const char *pkgid)
+static int get_pkg_archive_id(const char *path)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ char *pkg_id = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_installed_storage_to_pkgdbinfo(handle, INSTALL_INTERNAL);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_archiveinfo_get_pkgid(handle, &pkg_id);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("pkg archive id: %s\n", pkg_id);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_installed_storage_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, INSTALL_LOCATION location);
+int pkgmgrinfo_archiveinfo_get_pkgid(pkgmgrinfo_archiveinfo_h handle,
+ const char **pkgid);
/**
- * @fn int pkgmgrinfo_save_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle)
- * @fn int pkgmgrinfo_save_pkgdbusrinfo(pkgmgrinfo_pkgdbinfo_h handle, uid_t uid)
- * @brief This API saves all the information from the handle to the DB.
+ * @fn int pkgmgrinfo_archiveinfo_get_type(pkgmgrinfo_archiveinfo_h handle, char **type)
+ * @brief This API gets the package type from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package db info handle.
- * @param[in] uid the addressee user id of the instruction
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] type pointer to hold package type
* @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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_pkg_in_db(const char *pkgid)
+static int get_pkg_archive_type(const char *path)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ char *type = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, "0.0.1");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_archiveinfo_get_type(handle, &type);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("pkg archive type: %s\n", type);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_save_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle);
-int pkgmgrinfo_save_pkgusrdbinfo(pkgmgrinfo_pkgdbinfo_h handle, uid_t uid);
+int pkgmgrinfo_archiveinfo_get_type(pkgmgrinfo_archiveinfo_h handle,
+ const char **type);
+
/**
- * @fn int pkgmgrinfo_destroy_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle)
- * @brief This API destroys the package db information handle freeing up all the resources
+ * @fn int pkgmgrinfo_archiveinfo_get_version(pkgmgrinfo_archiveinfo_h handle, char **version)
+ * @brief This API gets the package version from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package db info handle.
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] version pointer to hold package version
* @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_create_pkgdbinfo()
- * @post None
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_pkg_in_db(const char *pkgid)
+static int get_pkg_archive_version(const char *path)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ char *version = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, "0.0.1");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_archiveinfo_get_version(handle, &version);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("pkg archive version: %s\n", version);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_destroy_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle);
-
+int pkgmgrinfo_archiveinfo_get_version(pkgmgrinfo_archiveinfo_h handle,
+ const char **version);
/**
- * @fn int pkgmgrinfo_create_certinfo_set_handle(pkgmgrinfo_instcertinfo_h *handle)
- * @brief This API creates the package cert information handle to set data in db.
+ * @fn int pkgmgrinfo_archiveinfo_get_api_version(pkgmgrinfo_archiveinfo_h handle, char **api_version)
+ * @brief This API gets the package api version from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[out] handle pointer to the package cert handle.
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] api_version pointer to hold package api_version
* @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 None
- * @post pkgmgrinfo_destroy_certinfo_set_handle()
- * @see pkgmgrinfo_set_cert_value()
- * @see pkgmgrinfo_save_certinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_cert_in_db(const char *pkgid)
+static int get_pkg_archive_api_version(const char *path)
{
int ret = 0;
- pkgmgrinfo_instcertinfo_h handle;
- ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
+ char *api_version = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_certinfo(pkgid, handle);
+ ret = pkgmgrinfo_archiveinfo_get_api_version(handle, &api_version);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ printf("pkg archive api_version: %s\n", api_version);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_create_certinfo_set_handle(pkgmgrinfo_instcertinfo_h *handle);
+int pkgmgrinfo_archiveinfo_get_api_version(pkgmgrinfo_archiveinfo_h handle,
+ const char **api_version);
/**
- * @fn int pkgmgrinfo_set_cert_value(pkgmgrinfo_instcertinfo_h handle, pkgmgrinfo_instcert_type cert_type, char *cert_value)
- * @brief This API sets the package cert information in the handle.
+ * @fn int pkgmgrinfo_archiveinfo_get_description(pkgmgrinfo_archiveinfo_h handle, char **description)
+ * @brief This API gets the package description from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package cert handle.
- * @param[in] cert_type certificate type.
- * @param[in] cert_value certificate value.
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] description pointer to hold package description
* @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_create_certinfo_set_handle()
- * @post pkgmgrinfo_destroy_certinfo_set_handle()
- * @see pkgmgrinfo_save_certinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_cert_in_db(const char *pkgid)
+static int get_pkg_archive_description(const char *path)
{
int ret = 0;
- pkgmgrinfo_instcertinfo_h handle;
- ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
+ char *description = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_certinfo(pkgid, handle);
+ ret = pkgmgrinfo_archiveinfo_get_description(handle, &description);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ printf("pkg archive description: %s\n", description);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_cert_value(pkgmgrinfo_instcertinfo_h handle, pkgmgrinfo_instcert_type cert_type, char *cert_value);
+int pkgmgrinfo_archiveinfo_get_description(pkgmgrinfo_archiveinfo_h handle,
+ const char **description);
/**
- * @fn int pkgmgrinfo_save_certinfo(const char *pkgid, pkgmgrinfo_instcertinfo_h handle)
- * @brief This API saves the package cert information in the DB.
+ * @fn int pkgmgrinfo_archiveinfo_get_label(pkgmgrinfo_archiveinfo_h handle, char **label)
+ * @brief This API gets the package label from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] pkgid pointer to the package ID.
- * @param[in] handle pointer to the package cert handle.
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] label pointer to hold package label
* @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_create_certinfo_set_handle()
- * @post pkgmgrinfo_destroy_certinfo_set_handle()
- * @see pkgmgrinfo_save_certinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_cert_in_db(const char *pkgid)
+static int get_pkg_archive_label(const char *path)
{
int ret = 0;
- pkgmgrinfo_instcertinfo_h handle;
- ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
+ char *label = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_certinfo(pkgid, handle);
+ ret = pkgmgrinfo_archiveinfo_get_label(handle, &label);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ printf("pkg archive label: %s\n", label);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_save_certinfo(const char *pkgid, pkgmgrinfo_instcertinfo_h handle, uid_t uid);
+int pkgmgrinfo_archiveinfo_get_label(pkgmgrinfo_archiveinfo_h handle,
+ const char **label);
/**
- * @fn int pkgmgrinfo_destroy_certinfo_set_handle(pkgmgrinfo_instcertinfo_h handle)
- * @brief This API destroys the package cert information handle freeing up all the resources.
+ * @fn int pkgmgrinfo_archiveinfo_get_author(pkgmgrinfo_archiveinfo_h handle, char **author)
+ * @brief This API gets the package author from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to the package cert handle.
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] author pointer to hold package author
* @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_create_certinfo_set_handle()
- * @post None
- * @see pkgmgrinfo_save_certinfo()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_cert_in_db(const char *pkgid)
+static int get_pkg_archive_author(const char *path)
{
int ret = 0;
- pkgmgrinfo_instcertinfo_h handle;
- ret = pkgmgrinfo_create_certinfo_set_handle(&handle);
+ char *author = NULL;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_cert_value(handle, PMINFO_SET_AUTHOR_ROOT_CERT, "author root certificate");
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
- return -1;
- }
- ret = pkgmgrinfo_save_certinfo(pkgid, handle);
+ ret = pkgmgrinfo_archiveinfo_get_author(handle, &author);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_certinfo_set_handle(handle);
+ printf("pkg archive author: %s\n", author);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_destroy_certinfo_set_handle(pkgmgrinfo_instcertinfo_h handle);
-
-/**
- * @fn int pkgmgrinfo_datacontrol_get_info(const char *providerid, const char * type, char **appid, char **access)
- * @brief This API gets the datacontrol info
- *
- * @par This API is for package-manager client application
- * @par Sync (or) Async : Synchronous API
- *
- * @param[in] providerid pointer to the providerid of dataconltrol.
- * @param[in] type pointer to the type of dataconltrol.
- * @param[out] appid pointer to hold appid, need to free after using
- * @param[out] access pointer to hold access, need to free after using
- * @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
- * @endcode
- */
-int pkgmgrinfo_datacontrol_get_info(const char *providerid, const char * type, char **appid, char **access);
+int pkgmgrinfo_archiveinfo_get_author(pkgmgrinfo_archiveinfo_h handle,
+ const char **author);
/**
- * @fn int pkgmgrinfo_appinfo_is_guestmode_appstatus(pkgmgrinfo_appinfo_h handle, bool *status)
- * @brief This API gets the application 'guest mode visibility' value from the DB
+ * @fn int pkgmgrinfo_archiveinfo_get_icon(pkgmgrinfo_archiveinfo_h handle, const unsigned char **icon, size_t *size)
+ * @brief This API gets the package icon and size from the package archive info handle
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to application info handle
- * @param[out] status pointer to hold app guest mode visibility value
+ * @param[in] handle pointer to package archive info handle
+ * @param[out] icon pointer to hold package icon
+ * @param[out] size pointer to hold size of package icon
* @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()
- * @see pkgmgrinfo_appinfo_get_appid()
- * @see pkgmgrinfo_appinfo_is_multiple()
+ * @retval PMINFO_R_ENOENT no result
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int get_app_guestmode_visibility(const char *appid)
+static int get_pkg_archive_icon(const char *path)
{
int ret = 0;
- bool status;
- pkgmgrinfo_appinfo_h handle;
- ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ unsigned char *icon = NULL;
+ size_t icon_size = 0;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_is_guestmode_visibility(handle, &status);
+ ret = pkgmgrinfo_archiveinfo_get_icon(handle, &icon, &icon_size);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- printf("app guest mode visibility: %d\n", status);
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ printf("pkg archive icon size : %zu\n", icon_size);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
- int pkgmgrinfo_appinfo_is_guestmode_visibility(pkgmgrinfo_appinfo_h handle, bool *status);
+int pkgmgrinfo_archiveinfo_get_icon(pkgmgrinfo_archiveinfo_h handle,
+ const unsigned char **icon, size_t *size);
/**
- * @fn int pkgmgrinfo_appinfo_set_guestmode_visibility(pkgmgrinfo_appinfo_h handle, bool status)
- * @brief This API sets the application 'guest mode visibility' value in the DB
+ * @fn int pkgmgrinfo_archiveinfo_foreach_dependency(pkgmgrinfo_archiveinfo_h handle, pkgmgrinfo_dependency_cb callback, void *user_data)
+ * @brief This API retrieve the dependency information and invoke given callback for it.
*
* @par This API is for package-manager client application
* @par Sync (or) Async : Synchronous API
*
- * @param[in] handle pointer to application info handle
- * @param[out] status app guest mode visibility value
+ * @param[in] handle pointer to package archive info handle
+ * @param[in] callback callback to be invoked for each retrieved dependency information
+ * @param[in] user_data user data to be passed to callback
* @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()
- * @see pkgmgrinfo_appinfo_get_appid()
- * @see pkgmgrinfo_appinfo_is_multiple()
+ * @pre pkgmgrinfo_archiveinfo_get_archiveinfo()
+ * @post pkgmgrinfo_archiveinfo_destroy_archiveinfo()
* @code
-static int set_app_guestmode_visibility(const char *appid, bool value)
+static int get_pkg_archive_dependency(const char *path, pkgmgrinfo_pkg_dependency_list_cb callback)
{
int ret = 0;
- pkgmgrinfo_appinfo_h handle;
- ret = pkgmgrinfo_appinfo_get_appinfo(appid, &handle);
+ size_t icon_size = 0;
+ pkgmgrinfo_archiveinfo_h handle;
+ ret = pkgmgrinfo_archiveinfo_get_archiveinfo(path, &handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_appinfo_set_guestmode_visibility(handle, value);
+ ret = pkgmgrinfo_archiveinfo_foreach_dependency(handle, callback, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return -1;
}
- pkgmgrinfo_appinfo_destroy_appinfo(handle);
+ pkgmgrinfo_archiveinfo_destroy_archiveinfo(handle);
return 0;
}
* @endcode
*/
- int pkgmgrinfo_appinfo_set_guestmode_visibility(pkgmgrinfo_appinfo_h handle, bool status);
- int pkgmgrinfo_appinfo_set_usr_guestmode_visibility(pkgmgrinfo_appinfo_h handle, uid_t uid, bool status);
-
-/**
-* @fn int pkgmgrinfo_pkginfo_set_installed_storage(const char *pkgid, INSTALL_LOCATION location)
-* @brief This API sets the package 'installed_storage' value in db
-*
-* @par This API is for package-manager client application
-* @par Sync (or) Async : Synchronous API
-*
-* @param[in] pkgid pointer to the package ID.
-* @param[in] location package install location
-* @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
-* @code
-static int set_app_installed_storage(const char *appid, INSTALL_LOCATION location)
-{
- int ret = 0;
-
- ret = pkgmgrinfo_pkginfo_set_installed_storage(handle, INSTALL_EXTERNAL);
- if (ret != PMINFO_R_OK) {
- return -1;
- }
- return 0;
-}
-* @endcode
-*/
- int pkgmgrinfo_pkginfo_set_installed_storage(const char *pkgid, INSTALL_LOCATION location);
- int pkgmgrinfo_pkginfo_set_usr_installed_storage(const char * pkgid, INSTALL_LOCATION location, uid_t uid);
-
-/**
- * @pkgmgrinfo client API
-**/
-
-/**
- * @brief listening status type in pkgmgrinfo.
- */
-#define PMINFO_CLIENT_STATUS_ALL 0x00
-#define PMINFO_CLIENT_STATUS_INSTALL 0x01
-#define PMINFO_CLIENT_STATUS_UNINSTALL 0x02
-#define PMINFO_CLIENT_STATUS_UPGRADE 0x04
-#define PMINFO_CLIENT_STATUS_MOVE 0x08
-#define PMINFO_CLIENT_STATUS_CLEAR_DATA 0x10
-#define PMINFO_CLIENT_STATUS_INSTALL_PROGRESS 0x20
-
-/**
- * @brief This APIs provides pkgmgrinfo client listener
- */
-pkgmgrinfo_client *pkgmgrinfo_client_new(pkgmgrinfo_client_type ctype);
-int pkgmgrinfo_client_set_status_type(pkgmgrinfo_client *pc, int status_type);
-int pkgmgrinfo_client_listen_status(pkgmgrinfo_client *pc, pkgmgrinfo_handler event_cb, void *data);
-int pkgmgrinfo_client_free(pkgmgrinfo_client *pc);
-int pkgmgrinfo_client_request_enable_external_pkg(char *pkgid);
-
+int pkgmgrinfo_archiveinfo_foreach_dependency(pkgmgrinfo_archiveinfo_h handle,
+ pkgmgrinfo_pkg_dependency_list_cb callback, void *user_data);
/**
* @pkgmgrinfo client API end
* @}
* @}
*/
-