Implement pkgmgr plugin execution info
[platform/core/appfw/pkgmgr-info.git] / parser / include / pkgmgr_parser_db.h
index e9735ae..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,8 +331,256 @@ 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)
+ * @brief      This API registers update informations of given packages for user specified by uid
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  handle  update information handle
+ * @param[in]  uid     user ID
+ * @return     0 if success, error code(<0) if fail
+ * @pre None
+ * @post        None
+ * @code
+static int register_pkg_update_info(pkgmgrinfo_updateinfo_h update_info, uid_t uid)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_register_pkg_update_info_in_usr_db(update_info, uid);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_register_pkg_update_info_in_usr_db(pkgmgrinfo_updateinfo_h handle, uid_t uid);
+
+/**
+ * @fn int pkgmgr_parser_register_pkg_update_info_in_db(pkgmgrinfo_updateinfo_h update_info)
+ * @brief      This API registers update informations of given packages
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  update_info     update information handle
+ * @return     0 if success, error code(<0) if fail
+ * @pre        None
+ * @post       None
+ * @code
+static int register_pkg_update_info(pkgmgrinfo_updateinfo_h update_info)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_register_pkg_update_info_in_db(update_info);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_register_pkg_update_info_in_db(pkgmgrinfo_updateinfo_h update_info);
+
+/**
+ * @fn int pkgmgr_parser_unregister_pkg_update_info_in_usr_db(const char *pkgid, uid_t uid)
+ * @brief      This API unregister update information of certain package for user specified by uid.
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  pkgid   package ID
+ * @param[in]  uid     user ID
+ * @return     0 if success, error code(<0) if fail
+ * @pre        None
+ * @post       None
+ * @code
+static int register_pkg_update_info(pkgmgrinfo_updateinfo_h update_info, uid_t uid)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_register_pkg_update_info_in_db(update_info, uid);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_unregister_pkg_update_info_in_usr_db(const char *pkgid, uid_t uid);
+
+/**
+ * @fn int pkgmgr_parser_unregister_pkg_update_info_in_db(const char * pkgid)
+ * @brief      This API unregister update information of certain package
+ *
+ * @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_update_info(const char *pkgid)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_unregister_pkg_update_info_in_db(pkgid);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+int pkgmgr_parser_unregister_pkg_update_info_in_db(const char *pkgid);
 
+/**
+ * @fn int pkgmgr_parser_unregister_all_pkg_update_info_in_usr_db(uid_t uid)
+ * @brief      This API unregister update information of all packages
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @param[in]  uid     user ID
+ * @return     0 if success, error code(<0) if fail
+ * @pre        None
+ * @post       None
+ * @code
+static int unregister_all_pkg_update_info(uid_t uid)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_unregister_all_pkg_update_info_in_usr_db(uid);
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+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(void)
+ * @brief      This API unregisters update information of all packages
+ *
+ * @par                This API is only for internal usage
+ * @par Sync (or) Async : Synchronous API
+ *
+ * @return     0 if success, error code(<0) if fail
+ * @pre None
+ * @post        None
+ * @code
+static int unregister_all_pkg_update_info(void)
+{
+       int ret = 0;
+       ret = pkgmgr_parser_unregister_all_pkg_update_info_in_db();
+       if (ret < 0)
+               return -1;
+       return 0;
+}
+ * @endcode
+ */
+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