PMINFO_CERT_COMPARE_LHS_NO_CERT,
PMINFO_CERT_COMPARE_RHS_NO_CERT,
PMINFO_CERT_COMPARE_BOTH_NO_CERT,
+ PMINFO_CERT_COMPARE_ERROR,
} pkgmgrinfo_cert_compare_result_type_e;
/**
typedef void* pkgmgrinfo_appinfo_filter_h;
/**
+ * @brief A handle to filter application metadata information
+ */
+typedef void* pkgmgrinfo_appinfo_metadata_filter_h;
+
+/**
* @brief A handle to get appcontrol information
*/
typedef void* pkgmgrinfo_appcontrol_h;
/**
* @fn int (*pkgmgrinfo_app_list_cb ) (const pkgmgrinfo_appinfo_h handle, void *user_data)
*
- * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_get_list(), pkgmgrinfo_appinfo_filter_foreach_appinfo()
+ * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_get_list(), pkgmgrinfo_appinfo_filter_foreach_appinfo(), pkgmgrinfo_appinfo_metadata_filter_foreach()
*
* @param[in] handle the appinfo handle
- * @param[in] user_data user data passed to pkgmgrinfo_appinfo_get_list(), pkgmgrinfo_appinfo_filter_foreach_appinfo()
+ * @param[in] user_data user data passed to pkgmgrinfo_appinfo_get_list(), pkgmgrinfo_appinfo_filter_foreach_appinfo(), pkgmgrinfo_appinfo_metadata_filter_foreach()
*
* @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
*
* @see pkgmgrinfo_appinfo_get_list()
* @see pkgmgrinfo_appinfo_filter_foreach_appinfo()
+ * @see pkgmgrinfo_appinfo_metadata_filter_foreach()
*/
typedef int (*pkgmgrinfo_app_list_cb ) (const pkgmgrinfo_appinfo_h handle,
void *user_data);
void *user_data);
/**
- * @fn int (*pkgmgrinfo_app_metadata_list_cb ) (const char *metadata_name, const char *metadata_value, void *user_data)
+ * @fn int (*pkgmgrinfo_pkg_privilege_list_cb ) (const char *privilege_name, void *user_data)
+ *
+ * @brief Specifies the type of function passed to pkgmgrinfo_pkginfo_foreach_privilege()
+ *
+ * @param[in] privilege_name the name of the privilege
+ * @param[in] user_data user data passed to pkgmgrinfo_pkginfo_foreach_privilege()
+ *
+ * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
+ *
+ * @see pkgmgrinfo_pkginfo_foreach_privilege()
+ */
+typedef int (*pkgmgrinfo_pkg_privilege_list_cb ) (const char *privilege_name,
+ void *user_data);
+
+/**
+ * @fn int (*pkgmgrinfo_app_metadata_list_cb ) (const char *metadata_key, const char *metadata_value, void *user_data)
*
* @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_metadata()
*
*
* @see pkgmgrinfo_appinfo_foreach_metadata()
*/
-typedef int (*pkgmgrinfo_app_metadata_list_cb ) (const char *metadata_name,
+typedef int (*pkgmgrinfo_app_metadata_list_cb ) (const char *metadata_key,
const char *metadata_value, void *user_data);
/**
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
*
int pkgmgrinfo_pkginfo_filter_count(pkgmgrinfo_pkginfo_filter_h handle, int *count);
/**
+ * @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_appinfo_get_list(pkgmgrinfo_pkginfo_h handle, pkgmgrinfo_app_component component,
pkgmgrinfo_app_list_cb app_func, void *user_data)
* @brief This API gets list of installed applications for a particular package
* @pre pkgmgrinfo_appinfo_get_appinfo()
* @post pkgmgrinfo_appinfo_destroy_appinfo()
* @code
-int metadata_func(const char *name, const char *value, void *user_data)
+int metadata_func(const char *key, const char *value, void *user_data)
{
- if (strcmp(name, (char *)user_data) == 0) {
+ if (strcmp(key, (char *)user_data) == 0) {
printf("Value is %s\n", value);
return -1;
}
return 0;
}
-static int list_metadata(const char *appid, char *name)
+static int list_metadata(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_metadata(handle, metadata_func, (void *)name);
+ ret = pkgmgrinfo_appinfo_foreach_metadata(handle, metadata_func, (void *)key);
if (ret != PMINFO_R_OK) {
pkgmgrinfo_appinfo_destroy_appinfo(handle);
return -1;
int pkgmgrinfo_appinfo_filter_count(pkgmgrinfo_appinfo_filter_h handle, int *count);
/**
- * @fn int pkgmgrinfo_pkginfo_create_certinfo(pkgmgrinfo_certinfo_h *handle)
- * @brief This API creates the package cert information handle to get data from db.
+ * @fn int pkgmgrinfo_appinfo_metadata_filter_create(pkgmgrinfo_appinfo_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[out] handle pointer to the package cert handle.
+ * @param[out] handle pointer to the application 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 None
- * @post pkgmgrinfo_pkginfo_destroy_certinfo()
- * @see pkgmgrinfo_pkginfo_get_cert_value()
- * @see pkgmgrinfo_pkginfo_load_certinfo()
- * @code
-static int get_cert_info(const char *pkgid)
-{
- int ret = 0;
- pkgmgrinfo_certinfo_h handle;
- char *auth_cert = NULL;
- ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return -1;
- }
- printf("Author root certificate: %s\n", auth_root);
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_pkginfo_create_certinfo(pkgmgrinfo_certinfo_h *handle);
-
-/**
- * @fn int pkgmgrinfo_pkginfo_load_certinfo(const char *pkgid, pkgmgrinfo_certinfo_h handle)
- * @brief This API loads the package cert information handle with data from 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] 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_pkginfo_create_certinfo()
- * @post pkgmgrinfo_pkginfo_destroy_certinfo()
- * @see pkgmgrinfo_pkginfo_get_cert_value()
- * @code
-static int get_cert_info(const char *pkgid)
-{
- int ret = 0;
- pkgmgrinfo_certinfo_h handle;
- char *auth_cert = NULL;
- ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return -1;
- }
- printf("Author root certificate: %s\n", auth_root);
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_pkginfo_load_certinfo(const char *pkgid, pkgmgrinfo_certinfo_h handle);
-
-/**
- * @fn int pkgmgrinfo_pkginfo_get_cert_value(pkgmgrinfo_certinfo_h handle, pkgmgrinfo_cert_type cert_type, const char **cert_value)
- * @brief This API gets the package cert information from the 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[out] cert_value pointer to hold 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_pkginfo_create_certinfo()
- * @post pkgmgrinfo_pkginfo_destroy_certinfo()
- * @see pkgmgrinfo_pkginfo_load_certinfo()
+ * @post pkgmgrinfo_appinfo_metadata_filter_destroy()
+ * @see pkgmgrinfo_appinfo_metadata_filter_foreach()
* @code
-static int get_cert_info(const char *pkgid)
+int app_list_cb(pkgmgrinfo_appinfo_h handle, void *user_data)
{
- int ret = 0;
- pkgmgrinfo_certinfo_h handle;
- char *auth_cert = NULL;
- ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return -1;
- }
- ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
- return -1;
- }
- printf("Author root certificate: %s\n", auth_root);
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
+ char *appid = NULL;
+ pkgmgrinfo_appinfo_get_appid(handle, &appid);
+ printf("appid : %s\n", appid);
return 0;
}
- * @endcode
- */
-int pkgmgrinfo_pkginfo_get_cert_value(pkgmgrinfo_certinfo_h handle, pkgmgrinfo_cert_type cert_type, const char **cert_value);
-/**
- * @fn int pkgmgrinfo_pkginfo_destroy_certinfo(pkgmgrinfo_certinfo_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 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_pkginfo_create_certinfo()
- * @post None
- * @see pkgmgrinfo_pkginfo_load_certinfo()
- * @code
-static int get_cert_info(const char *pkgid)
+static int get_app_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- pkgmgrinfo_certinfo_h handle;
- char *auth_cert = NULL;
- ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
+ pkgmgrinfo_appinfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
+ ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
+ ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, app_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- printf("Author root certificate: %s\n", auth_root);
- pkgmgrinfo_pkginfo_destroy_certinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_pkginfo_destroy_certinfo(pkgmgrinfo_certinfo_h handle);
+int pkgmgrinfo_appinfo_metadata_filter_create(pkgmgrinfo_appinfo_metadata_filter_h *handle);
/**
- * @fn int pkgmgrinfo_delete_certinfo(const char *pkgid)
- * @brief This API deletes the package cert information from DB
+ * @fn int pkgmgrinfo_appinfo_metadata_filter_destroy(pkgmgrinfo_appinfo_metadata_filter_h handle)
+ * @brief This API destroys the application's metadata information filter 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 application 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 None
+ * @pre pkgmgrinfo_appinfo_metadata_filter_create()
* @post None
+ * @see pkgmgrinfo_appinfo_metadata_filter_foreach()
* @code
-static int delete_cert_info(const char *pkgid)
-{
- int ret = 0;
- ret = pkgmgrinfo_delete_certinfo(pkgid);
- if (ret != PMINFO_R_OK)
- return -1;
- return 0;
-}
- * @endcode
- */
- int pkgmgrinfo_delete_certinfo(const char *pkgid);
-
-/**
- * @fn int pkgmgrinfo_create_pkgdbinfo(const char *pkgid, pkgmgrinfo_pkgdbinfo_h *handle)
- * @brief This API creates the package db 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[out] handle pointer to the package db 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_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
- * @code
-static int set_pkg_in_db(const char *pkgid)
-{
- int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &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);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return 0;
-}
- * @endcode
- */
-int pkgmgrinfo_create_pkgdbinfo(const char *pkgid, pkgmgrinfo_pkgdbinfo_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
- *
- * @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.
- * @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()
- * @code
-static int set_pkg_type_in_db(const char *pkgid)
-{
- int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
- if (ret != PMINFO_R_OK)
- return -1;
- ret = pkgmgrinfo_set_type_to_pkgdbinfo(handle, "wgt");
- 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_type_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *type);
-
-/**
- * @fn int pkgmgrinfo_set_version_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *version)
- * @brief This API sets the package version in db 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] version pointer to the 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 pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
- * @code
-static int set_pkg_version_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_version_to_pkgdbinfo(handle, "0.0.1");
- 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);
+ char *appid = NULL;
+ pkgmgrinfo_appinfo_get_appid(handle, &appid);
+ printf("appid : %s\n", appid);
return 0;
}
- * @endcode
- */
-int pkgmgrinfo_set_version_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *version);
-/**
- * @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
- *
- * @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
- * @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()
- * @code
-static int set_pkg_install_location_in_db(const char *pkgid)
+static int get_app_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_appinfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_install_location_to_pkgdbinfo(handle, INSTALL_INTERNAL);
+ ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, app_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_install_location_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, INSTALL_LOCATION location);
+int pkgmgrinfo_appinfo_metadata_filter_destroy(pkgmgrinfo_appinfo_metadata_filter_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_metadata_filter_add(pkgmgrinfo_appinfo_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 application 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 pkgdbinfo handle.
- * @param[in] size pointer to the package size
+ * @param[in] handle pointer to the application 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_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_appinfo_metadata_filter_create()
+ * @post pkgmgrinfo_appinfo_metadata_filter_foreach(), pkgmgrinfo_appinfo_metadata_filter_destroy()
+ * @see pkgmgrinfo_appinfo_metadata_filter_foreach()
* @code
-static int set_pkg_size_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_size_to_pkgdbinfo(handle, "15");
- 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);
+ char *appid = NULL;
+ pkgmgrinfo_appinfo_get_appid(handle, &appid);
+ printf("appid : %s\n", appid);
return 0;
}
- * @endcode
- */
-int pkgmgrinfo_set_size_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *size);
-/**
- * @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
- *
- * @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
- * @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()
- * @code
-static int set_pkg_label_in_db(const char *pkgid)
+static int get_app_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_appinfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_label_to_pkgdbinfo(handle, "helloworld", "en-us");
+ ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, app_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_label_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *label, const char *locale);
+int pkgmgrinfo_appinfo_metadata_filter_add(pkgmgrinfo_appinfo_metadata_filter_h handle,
+ const char *key, const char *value);
/**
- * @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_appinfo_metadata_filter_foreach(pkgmgrinfo_appinfo_metadata_filter_h handle, pkgmgrinfo_app_list_cb app_cb, void *user_data)
+ * @brief This API executes the filter query. The query will search the entire application metadata information collected from
+ * the manifest file of all the installed packages. For each application 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 pkgdbinfo handle.
- * @param[in] icon pointer to the package icon
- * @param[in] locale pointer to the locale
+ * @param[in] handle pointer to the application metadata info filter handle.
+ * @param[in] app_cb function pointer to callback
+ * @param[in] user_data pointer to user data
* @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_metadata_filter_create()
+ * @post pkgmgrinfo_appinfo_metadata_filter_destroy()
* @code
-static int set_pkg_icon_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_icon_to_pkgdbinfo(handle, "helloworld.png", "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);
+ char *appid = NULL;
+ pkgmgrinfo_appinfo_get_appid(handle, &appid);
+ printf("appid : %s\n", appid);
return 0;
}
- * @endcode
- */
-int pkgmgrinfo_set_icon_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *icon, const char *locale);
-/**
- * @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
- *
- * @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
- * @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()
- * @code
-static int set_pkg_description_in_db(const char *pkgid)
+static int get_app_list(const char *mkey, const char *mvalue)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_appinfo_metadata_filter_h handle;
+ ret = pkgmgrinfo_appinfo_metadata_filter_create(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_description_to_pkgdbinfo(handle, "helloworld application", "en-us");
+ ret = pkgmgrinfo_appinfo_metadata_filter_add(handle, mkey, mvalue);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_appinfo_metadata_filter_foreach(handle, app_list_cb, NULL);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_appinfo_metadata_filter_destroy(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_description_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, const char *description, const char *locale);
+int pkgmgrinfo_appinfo_metadata_filter_foreach(pkgmgrinfo_appinfo_metadata_filter_h handle,
+ pkgmgrinfo_app_list_cb app_cb, 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_pkginfo_create_certinfo(pkgmgrinfo_certinfo_h *handle)
+ * @brief This API creates the package cert information handle to get data from 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] 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[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 pkgmgrinfo_create_pkgdbinfo()
- * @post pkgmgrinfo_destroy_pkgdbinfo()
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
+ * @pre None
+ * @post pkgmgrinfo_pkginfo_destroy_certinfo()
+ * @see pkgmgrinfo_pkginfo_get_cert_value()
+ * @see pkgmgrinfo_pkginfo_load_certinfo()
* @code
-static int set_pkg_author_in_db(const char *pkgid)
+static int get_cert_info(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_certinfo_h handle;
+ char *auth_cert = NULL;
+ ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_author_to_pkgdbinfo(handle, "John", "john@samsung.com", "www.samsung.com", "en-us");
+ ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("Author root certificate: %s\n", auth_root);
+ pkgmgrinfo_pkginfo_destroy_certinfo(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_pkginfo_create_certinfo(pkgmgrinfo_certinfo_h *handle);
/**
- * @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_pkginfo_load_certinfo(const char *pkgid, pkgmgrinfo_certinfo_h handle)
+ * @brief This API loads the package cert information handle with data from 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] removable package removable value
+ * @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_pkginfo_create_certinfo()
+ * @post pkgmgrinfo_pkginfo_destroy_certinfo()
+ * @see pkgmgrinfo_pkginfo_get_cert_value()
* @code
-static int set_pkg_removable_in_db(const char *pkgid)
+static int get_cert_info(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_certinfo_h handle;
+ char *auth_cert = NULL;
+ ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_removable_to_pkgdbinfo(handle, 1);
+ ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("Author root certificate: %s\n", auth_root);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_removable_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, int removable);
+int pkgmgrinfo_pkginfo_load_certinfo(const char *pkgid, pkgmgrinfo_certinfo_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_pkginfo_get_cert_value(pkgmgrinfo_certinfo_h handle, pkgmgrinfo_cert_type cert_type, const char **cert_value)
+ * @brief This API gets the package cert information from 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] preload package preload value
+ * @param[in] handle pointer to the package cert handle.
+ * @param[in] cert_type certificate type
+ * @param[out] cert_value pointer to hold 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_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_pkginfo_create_certinfo()
+ * @post pkgmgrinfo_pkginfo_destroy_certinfo()
+ * @see pkgmgrinfo_pkginfo_load_certinfo()
* @code
-static int set_pkg_preload_in_db(const char *pkgid)
+static int get_cert_info(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_certinfo_h handle;
+ char *auth_cert = NULL;
+ ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_preload_to_pkgdbinfo(handle, 1);
+ ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("Author root certificate: %s\n", auth_root);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_set_preload_to_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle, int preload);
+int pkgmgrinfo_pkginfo_get_cert_value(pkgmgrinfo_certinfo_h handle, pkgmgrinfo_cert_type cert_type, const char **cert_value);
/**
- * @fn int pkgmgrinfo_save_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle)
- * @brief This API saves all the information from the handle to the DB.
+ * @fn int pkgmgrinfo_pkginfo_destroy_certinfo(pkgmgrinfo_certinfo_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 package db info handle.
+ * @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_set_type_to_pkgdbinfo()
+ * @pre pkgmgrinfo_pkginfo_create_certinfo()
+ * @post None
+ * @see pkgmgrinfo_pkginfo_load_certinfo()
* @code
-static int set_pkg_in_db(const char *pkgid)
+static int get_cert_info(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ pkgmgrinfo_certinfo_h handle;
+ char *auth_cert = NULL;
+ ret = pkgmgrinfo_pkginfo_create_certinfo(&handle);
if (ret != PMINFO_R_OK)
return -1;
- ret = pkgmgrinfo_set_version_to_pkgdbinfo(handle, "0.0.1");
+ ret = pkgmgrinfo_pkginfo_load_certinfo(pkgid, handle);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- ret = pkgmgrinfo_save_pkgdbinfo(handle);
+ ret = pkgmgrinfo_pkginfo_get_cert_value(handle, PMINFO_AUTHOR_ROOT_CERT, &auth_cert);
if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return -1;
}
- pkgmgrinfo_destroy_pkgdbinfo(handle);
+ printf("Author root certificate: %s\n", auth_root);
+ pkgmgrinfo_pkginfo_destroy_certinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_save_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle);
+int pkgmgrinfo_pkginfo_destroy_certinfo(pkgmgrinfo_certinfo_h handle);
/**
- * @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_delete_certinfo(const char *pkgid)
+ * @brief This API deletes the package cert information from DB
*
* @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] pkgid pointer to the 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()
+ * @pre None
* @post None
- * @see pkgmgrinfo_save_pkgdbinfo()
- * @see pkgmgrinfo_set_type_to_pkgdbinfo()
* @code
-static int set_pkg_in_db(const char *pkgid)
+static int delete_cert_info(const char *pkgid)
{
int ret = 0;
- pkgmgrinfo_pkgdbinfo_h handle;
- ret = pkgmgrinfo_create_pkgdbinfo(pkgid, &handle);
+ ret = pkgmgrinfo_delete_certinfo(pkgid);
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);
- if (ret != PMINFO_R_OK) {
- pkgmgrinfo_destroy_pkgdbinfo(handle);
- return -1;
- }
- pkgmgrinfo_destroy_pkgdbinfo(handle);
return 0;
}
* @endcode
*/
-int pkgmgrinfo_destroy_pkgdbinfo(pkgmgrinfo_pkgdbinfo_h handle);
+ int pkgmgrinfo_delete_certinfo(const char *pkgid);
/**
* @fn int pkgmgrinfo_create_certinfo_set_handle(pkgmgrinfo_instcertinfo_h *handle)