Implement pkgmgr plugin execution info
[platform/core/appfw/pkgmgr-info.git] / include / pkgmgrinfo_type.h
index b46e24e..870d376 100644 (file)
@@ -93,23 +93,26 @@ typedef enum {
 } pkgmgrinfo_cert_compare_result_type_e;
 
 typedef enum {
-       PMINFO_APPINFO_GET_LABEL = 0x0001,
-       PMINFO_APPINFO_GET_ICON = 0x0002,
-       PMINFO_APPINFO_GET_CATEGORY = 0x0004,
-       PMINFO_APPINFO_GET_APP_CONTROL = 0x0008,
-       PMINFO_APPINFO_GET_DATA_CONTROL = 0x0010,
+       PMINFO_APPINFO_GET_BASICINFO = 0x0001,
+       PMINFO_APPINFO_GET_LABEL = 0x0002,
+       PMINFO_APPINFO_GET_ICON = 0x0004,
+       PMINFO_APPINFO_GET_CATEGORY = 0x0008,
+       PMINFO_APPINFO_GET_APP_CONTROL = 0x0010,
        PMINFO_APPINFO_GET_METADATA = 0x0020,
        PMINFO_APPINFO_GET_SPLASH_SCREEN = 0x0040,
        PMINFO_APPINFO_GET_ALL = 0x007F
 } pkgmgrinfo_appinfo_get_option;
 
 typedef enum {
-       PMINFO_PKGINFO_GET_LABEL = 0x0001,
-       PMINFO_PKGINFO_GET_ICON = 0x0002,
-       PMINFO_PKGINFO_GET_AUTHOR = 0x0004,
-       PMINFO_PKGINFO_GET_DESCRIPTION = 0x0008,
-       PMINFO_PKGINFO_GET_PRIVILEGE = 0x0010,
-       PMINFO_PKGINFO_GET_ALL = 0x001F
+       PMINFO_PKGINFO_GET_BASICINFO = 0x0001,
+       PMINFO_PKGINFO_GET_LABEL = 0x0002,
+       PMINFO_PKGINFO_GET_ICON = 0x0004,
+       PMINFO_PKGINFO_GET_AUTHOR = 0x0008,
+       PMINFO_PKGINFO_GET_DESCRIPTION = 0x0010,
+       PMINFO_PKGINFO_GET_PRIVILEGE = 0x0020,
+       PMINFO_PKGINFO_GET_APPDEFINED_PRIVILEGE = 0x0040,
+       PMINFO_PKGINFO_GET_DEPENDENCY = 0x0080,
+       PMINFO_PKGINFO_GET_ALL = 0x00FF
 } pkgmgrinfo_pkginfo_get_option;
 
 /**
@@ -217,6 +220,11 @@ typedef void *pkgmgrinfo_appinfo_metadata_filter_h;
 typedef void *pkgmgrinfo_appcontrol_h;
 
 /**
+ * @brief A handle to get package archive information
+ */
+typedef void *pkgmgrinfo_archiveinfo_h;
+
+/**
  * @brief type definition.
  */
 typedef void pkgmgrinfo_client;
@@ -285,34 +293,73 @@ typedef int (*pkgmgrinfo_app_category_list_cb) (const char *category_name,
                                                        void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_app_permission_list_cb) (const char *permission_type, 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_appinfo_foreach_category()
+ * @brief Specifies the type of function passed to pkgmgrinfo_pkginfo_foreach_privilege()
  *
- * @param[in] permission_name the name of the permission
- * @param[in] user_data user data passed to pkgmgrinfo_appinfo_foreach_category()
+ * @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_appinfo_foreach_category()
+ * @see  pkgmgrinfo_pkginfo_foreach_privilege()
  */
-typedef int (*pkgmgrinfo_app_permission_list_cb) (const char *permission_type,
+typedef int (*pkgmgrinfo_pkg_privilege_list_cb) (const char *privilege_name,
                                                        void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_pkg_privilege_list_cb) (const char *privilege_name, void *user_data)
+ * @fn int (*pkgmgrinfo_pkg_appdefined_privilege_list_cb) (const char *privilege_name, const char *license_path, void *user_data)
  *
- * @brief Specifies the type of function passed to pkgmgrinfo_pkginfo_foreach_privilege()
+ * @brief Specifies the type of function passed to pkgmgrinfo_pkginfo_foreach_appdefined_privilege()
  *
  * @param[in] privilege_name the name of the privilege
- * @param[in] user_data user data passed to pkgmgrinfo_pkginfo_foreach_privilege()
+ * @param[in] license_path the path of the license
+ * @param[in] user_data user data passed to pkgmgrinfo_pkginfo_foreach_appdefined_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()
+ * @see  pkgmgrinfo_pkginfo_foreach_appdefined_privilege()
  */
-typedef int (*pkgmgrinfo_pkg_privilege_list_cb) (const char *privilege_name,
+typedef int (*pkgmgrinfo_pkg_appdefined_privilege_list_cb) (const char *privilege_name,
+                                                       const char *license_path,
                                                        void *user_data);
+/**
+ * @fn int (*pkgmgrinfo_pkg_dependency_list_cb) (const char *pkgid, const char *type, const char *required_version, void *user_data)
+ *
+ * @brief Specifies the dependency info of given package passed to pkgmgrinfo_pkginfo_foreach_dependency() or pkgmgrinfo_pkginfo_foreach_required_by()
+ *
+ * @param[in] pkgid the pkgid which has dependency with given package
+ * @param[in] type type of dependency
+ * @param[in] required_version required version of dependency
+ * @param[in] user_data user data passed
+ *
+ * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
+ *
+ * @see  pkgmgrinfo_pkginfo_foreach_dependency()
+ * @see  pkgmgrinfo_pkginfo_foreach_required_by()
+ */
+typedef int (*pkgmgrinfo_pkg_dependency_list_cb) (const char *pkgid,
+               const char *type, const char *required_version,
+               void *user_data);
+
+/**
+ * @fn int (*pkgmgrinfo_plugin_list_cb) (const char *pkgid, const char *appid, const char *plugin_type, const char *plugin_name, void *user_data);
+ *
+ * @brief Specifies the type of function passed to pkgmgrinfo_plugininfo_foreach_plugininfo()
+ *
+ * @param[in] pkgid the name of the package
+ * @param[in] appid the name of the application
+ * @param[in] plugin_type the type of the executed plugin
+ * @param[in] plugin_name the name of the executed plugin
+ * @param[in] user_data user data passed to pkgmgrinfo_plugininfo_foreach_plugininfo()
+ *
+ * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
+ *
+ * @see  pkgmgrinfo_plugininfo_foreach_plugininfo()
+ */
+typedef int (*pkgmgrinfo_plugin_list_cb) (const char *pkgid, const char *appid,
+               const char *plugin_type, const char *plugin_name,
+               void *user_data);
 
 /**
  * @fn int (*pkgmgrinfo_app_metadata_list_cb) (const char *metadata_key, const char *metadata_value, void *user_data)
@@ -344,6 +391,24 @@ typedef int (*pkgmgrinfo_app_metadata_list_cb) (const char *metadata_key,
  */
 typedef int (*pkgmgrinfo_app_control_list_cb) (const char *operation, const char *uri, const char *mime,
                                                        void *user_data);
+/**
+ * @fn int (*pkgmgrinfo_app_control_list_cb_v2) (const char *operation, const char *uri, const char *mime, const char *id, void *user_data)
+ *
+ * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_appcontrol_info()
+ *
+ * @param[in] operation The operation of the app-control
+ * @param[in] uri       The URI of the app-control
+ * @param[in] mime      The MIME-Type of the app-control
+ * @param[in] id        The ID of the app-control
+ * @param[in] user_data The user data passed from pkgmgrinfo_appinfo_foreach_appcontrol_v2()
+ *
+ * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
+ *
+ * @see  pkgmgrinfo_appinfo_foreach_appcontrol_v2()
+ */
+typedef int (*pkgmgrinfo_app_control_list_cb_v2) (const char *operation,
+               const char *uri, const char *mime, const char *id,
+               void *user_data);
 
 /**
  * @fn int (*pkgmgrinfo_app_background_category_list_cb) (const char *category_name, void *user_data)
@@ -409,6 +474,7 @@ typedef enum {
 typedef enum {
        PMINFO_INTERNAL_STORAGE = 0,            /**< Internal Storage*/
        PMINFO_EXTERNAL_STORAGE = 1,            /**< External Storage*/
+       PMINFO_EXTENDED_STORAGE = 2,            /**< Extended Storage*/
 } pkgmgrinfo_installed_storage;
 
 /**
@@ -441,6 +507,7 @@ typedef enum {
 typedef enum {
        INSTALL_INTERNAL = 0,           /**< Internal Installation*/
        INSTALL_EXTERNAL,               /**< External Installation*/
+       INSTALL_EXTENDED,               /**< Extended Installation*/
 } INSTALL_LOCATION;
 
 /**