Implement pkgmgr plugin execution info
[platform/core/appfw/pkgmgr-info.git] / parser / include / pkgmgr_parser_db.h
index ba9a660..2e84101 100644 (file)
@@ -46,6 +46,7 @@
 extern "C" {
 #endif
 #include "pkgmgr_parser.h"
+#include "pkgmgrinfo_type.h"
 /**
  * @fn int pkgmgr_parser_insert_manifest_info_in_usr_db(manifest_x *mfx, uid_t uid)
  * @fn int pkgmgr_parser_insert_manifest_info_in_db(manifest_x *mfx)
@@ -330,7 +331,32 @@ int pkgmgr_parser_update_app_label_info_in_db(const char *appid, const char *lab
  */
 int pkgmgr_parser_update_app_label_info_in_usr_db(const char *appid, uid_t uid, const char *label);
 
-int pkgmgr_parser_create_and_initialize_db(uid_t uid);
+/**
+ * @fn int pkgmgr_parser_update_app_icon_info_in_db(const char *appid, const char *icon_path)
+ * @brief      This API updates icon info of application
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  appid           application ID to change label
+ * @param[in]  icon_path       icon path to change
+ * @return     0 if success, error code(<0) if fail
+ */
+int pkgmgr_parser_update_app_icon_info_in_db(const char *appid, const char *icon_path);
+
+/**
+ * @fn int pkgmgr_parser_update_app_icon_info_in_usr_db(const char *appid, uid_t uid, const char *icon_path)
+ * @brief      This API updates icon info of application for user specified by uid
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  appid           application ID to change label
+ * @param[in]  uid             user ID
+ * @param[in]  icon_path       icon path to change
+ * @return     0 if success, error code(<0) if fail
+ */
+int pkgmgr_parser_update_app_icon_info_in_usr_db(const char *appid, uid_t uid, const char *icon_path);
 
 /**
  * @fn int pkgmgr_parser_register_pkg_update_info_in_usr_db(pkgmgrinfo_updateinfo_h handle, uid_t uid)
@@ -455,7 +481,7 @@ static int unregister_all_pkg_update_info(uid_t uid)
 int pkgmgr_parser_unregister_all_pkg_update_info_in_usr_db(uid_t uid);
 
 /**
- * @fn int pkgmgr_parser_unregister_all_pkg_update_info_in_db()
+ * @fn int pkgmgr_parser_unregister_all_pkg_update_info_in_db(void)
  * @brief      This API unregisters update information of all packages
  *
  * @par                This API is only for internal usage
@@ -475,8 +501,86 @@ static int unregister_all_pkg_update_info(void)
 }
  * @endcode
  */
-int pkgmgr_parser_unregister_all_pkg_update_info_in_db();
+int pkgmgr_parser_unregister_all_pkg_update_info_in_db(void);
+
+/**
+ * @fn int pkgmgr_parser_register_pkg_plugin_info_in_usr_db(manifest_x *mfx, uid_t uid)
+ * @brief      This API registers package plugin execution information
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  mfx     manifest structure pointer which contains plugin execution info
+ * @return     0 if success, error code(<0) if fail
+ * @pre None
+ * @post        None
+ * @code
+static int register_pkg_plugin_info(manifest_x *mfx)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_register_pkg_plugin_info_in_db(mfx);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_register_pkg_plugin_info_in_db(manifest_x *mfx);
+int pkgmgr_parser_register_pkg_plugin_info_in_usr_db(manifest_x *mfx, uid_t uid);
+
+/**
+ * @fn int pkgmgr_parser_update_pkg_plugin_info_in_usr_db(manifest_x *mfx, uid_t uid)
+ * @brief      This API updates package plugin execution information
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  mfx     manifest structure pointer which contains plugin execution info
+ * @return     0 if success, error code(<0) if fail
+ * @pre None
+ * @post        None
+ * @code
+static int update_pkg_plugin_info(manifest_x *mfx)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_update_pkg_plugin_info_in_db(mfx);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_update_pkg_plugin_info_in_db(manifest_x *mfx);
+int pkgmgr_parser_update_pkg_plugin_info_in_usr_db(manifest_x *mfx, uid_t uid);
+
+/**
+ * @fn int pkgmgr_parser_unregister_pkg_plugin_info_in_usr_db(const char *pkgid, uid_t uid)
+ * @brief      This API unregisters package plugin execution information
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  pkgid   package ID
+ * @return     0 if success, error code(<0) if fail
+ * @pre None
+ * @post        None
+ * @code
+static int unregister_pkg_plugin_info(const char *pkgid)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_unregister_pkg_plugin_info_in_db(pkgid);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_unregister_pkg_plugin_info_in_db(const char *pkgid);
+int pkgmgr_parser_unregister_pkg_plugin_info_in_usr_db(const char *pkgid, uid_t uid);
 
+int pkgmgr_parser_create_and_initialize_db(uid_t uid);
+int pkgmgr_parser_initialize_parser_db(uid_t uid);
+int pkgmgr_parser_initialize_cert_db(void);
 
 /** @} */
 #ifdef __cplusplus