Add new elements for component-based application
[platform/core/appfw/pkgmgr-info.git] / include / pkgmgrinfo_type.h
index 870d376..5b7ee08 100644 (file)
@@ -225,6 +225,11 @@ typedef void *pkgmgrinfo_appcontrol_h;
 typedef void *pkgmgrinfo_archiveinfo_h;
 
 /**
+ * @brief A handle to get component information
+ */
+typedef void *pkgmgrinfo_compinfo_h;
+
+/**
  * @brief type definition.
  */
 typedef void pkgmgrinfo_client;
@@ -449,6 +454,21 @@ typedef int (*pkgmgrinfo_app_splash_screen_list_cb)(const char *src,
                const char *color_depth, void *user_data);
 
 /**
+ * @fn int (*pkgmgrinfo_component_info_list_cb)(
+ *              const pkgmgrinfo_compinfo_h handle, void *user_data);
+ * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_component_info()
+ *
+ * @param[in]   handle          The handle of the component info
+ * @param[in]   user_data       The user data passed from pkgmgrinfo_appinfo_foreach_component_info()
+ *
+ * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
+ *
+ * @see pkgmgrinfo_appinfo_foreach_component_info()
+ */
+typedef int (*pkgmgrinfo_component_info_list_cb)(
+               const pkgmgrinfo_compinfo_h handle, void *user_data);
+
+/**
  * @brief Install Location Types
  */
 typedef enum {
@@ -461,11 +481,12 @@ typedef enum {
  * @brief Application Component Types
  */
 typedef enum {
-       PMINFO_ALL_APP = 0,     /**< All Application*/
-       PMINFO_UI_APP,          /**< UI Application*/
-       PMINFO_SVC_APP,         /**< Service Application*/
-       PMINFO_WIDGET_APP,      /**< Widget Application*/
-       PMINFO_WATCH_APP,  /**< Watch Application*/
+       PMINFO_ALL_APP = 0,             /**< All Application*/
+       PMINFO_UI_APP,                  /**< UI Application*/
+       PMINFO_SVC_APP,                 /**< Service Application*/
+       PMINFO_WIDGET_APP,              /**< Widget Application*/
+       PMINFO_WATCH_APP,               /**< Watch Application*/
+       PMINFO_COMPONENT_BASED_APP,     /**< Component-based Application (Since 5.5)*/
 } pkgmgrinfo_app_component;
 
 /**