Release version 0.13.5
[platform/core/appfw/pkgmgr-info.git] / include / pkgmgrinfo_type.h
index 503b26a..a2404f7 100644 (file)
 #define APP_BG_CATEGORY_IOTCOMM_STR                    "iot-communication"
 #define APP_BG_CATEGORY_SYSTEM                         "system"
 
+/* Integer property for support-mode */
+#define        APP_SUPPORT_MODE_ULTRA_POWER_SAVING_VAL         0x00001
+#define        APP_SUPPORT_MODE_COOL_DOWN_VAL                          0x00002
+#define        APP_SUPPORT_MODE_SCREEN_READER_VAL                      0x00004
+
+/* String property for support-mode */
+#define APP_SUPPORT_MODE_ULTRA_POWER_SAVING_STR                "ultra-power-saving"
+#define APP_SUPPORT_MODE_COOL_DOWN_STR         "cool-down"
+#define APP_SUPPORT_MODE_SCREEN_READER_STR             "screen-reader"
+
 /**
  * @brief A type to retrieve uid information from the manifest handle
  */
@@ -56,7 +66,7 @@ typedef struct {
 /**
  * @brief A handle to insert certificate information
  */
-typedef voidpkgmgrinfo_instcertinfo_h;
+typedef void *pkgmgrinfo_instcertinfo_h;
 
 /**
  * @brief Certificate Types to be used for setting information
@@ -71,7 +81,7 @@ typedef enum {
        PMINFO_SET_DISTRIBUTOR2_ROOT_CERT = 6,          /**< End Entity Root Certificate*/
        PMINFO_SET_DISTRIBUTOR2_INTERMEDIATE_CERT = 7,          /**< End Entity Intermediate Certificate*/
        PMINFO_SET_DISTRIBUTOR2_SIGNER_CERT = 8,                /**< End Entity Signer Certificate*/
-}pkgmgrinfo_instcert_type;
+} pkgmgrinfo_instcert_type;
 
 typedef enum {
        PMINFO_CERT_COMPARE_MATCH,
@@ -82,6 +92,28 @@ typedef enum {
        PMINFO_CERT_COMPARE_ERROR,
 } pkgmgrinfo_cert_compare_result_type_e;
 
+typedef enum {
+       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_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_ALL = 0x007F
+} pkgmgrinfo_pkginfo_get_option;
+
 /**
  * @brief API return values
  */
@@ -108,67 +140,88 @@ enum {
 #define        PMINFO_PKGINFO_INSTALL_LOCATION_EXTERNAL        "LOCATION_EXTERNAL"
 
 /**
- * @brief Value to be used when filtering based on app-component
+ * @brief Value to be used when get/set update information
  */
-#define        PMINFO_APPINFO_UI_APP                           "UI_APP"
+#define PMINFO_UPDATEINFO_TYPE_FORCE   "force"
 
 /**
- * @brief Value to be used when filtering based on app-component
+ * @brief Value to be used when get/set update information
  */
-#define        PMINFO_APPINFO_SVC_APP                          "SVC_APP"
+#define PMINFO_UPDATEINFO_TYPE_OPTIONAL        "optional"
+
+/**
+ * @brief Value to be used when get/set update information
+ */
+#define PMINFO_UPDATEINFO_TYPE_NONE    "none"
 
 typedef enum {
-       PMINFO_HWACCELERATION_NOT_USE_GL = 0,           /**< Don't use hardware acceleration*/
-       PMINFO_HWACCELERATION_USE_GL = 1,               /**< Use hardware acceleration*/
-       PMINFO_HWACCELERATION_USE_SYSTEM_SETTING = 2            /**< Follow system setting for hardware acceleration */
-}pkgmgrinfo_app_hwacceleration;
+       PMINFO_UPDATEINFO_NONE = 0,             /**<No update info exists*/
+       PMINFO_UPDATEINFO_FORCE,                /**<Don't launch application if it's not updated*/
+       PMINFO_UPDATEINFO_OPTIONAL              /**<Update exists but not force user to update it*/
+} pkgmgrinfo_updateinfo_update_type;
+
+typedef enum {
+       PMINFO_HWACCELERATION_OFF = 0,          /**< Don't use hardware acceleration*/
+       PMINFO_HWACCELERATION_ON = 1,           /**< Use hardware acceleration*/
+       PMINFO_HWACCELERATION_DEFAULT = 2               /**< Follow system setting for hardware acceleration */
+} pkgmgrinfo_app_hwacceleration;
 
 typedef enum {
        PMINFO_SCREENREADER_OFF = 0,            /**< Don't use screen reader*/
        PMINFO_SCREENREADER_ON = 1,             /**< Use screen reader*/
        PMINFO_SCREENREADER_USE_SYSTEM_SETTING = 2              /**< Follow system setting for screen reader */
-}pkgmgrinfo_app_screenreader;
+} pkgmgrinfo_app_screenreader;
 
 typedef enum {
        PMINFO_RECENTIMAGE_USE_ICON = 0,                /**<Use icon for recent image*/
        PMINFO_RECENTIMAGE_USE_CAPTURE = 1,             /**< Use capture for recent image*/
        PMINFO_RECENTIMAGE_USE_NOTHING = 2              /**< Don't use recent image */
-}pkgmgrinfo_app_recentimage;
+} pkgmgrinfo_app_recentimage;
 
 /**
  * @brief A handle to get package information
  */
-typedef voidpkgmgrinfo_pkginfo_h;
+typedef void *pkgmgrinfo_pkginfo_h;
 
 /**
  * @brief A handle to get application information
  */
-typedef voidpkgmgrinfo_appinfo_h;
+typedef void *pkgmgrinfo_appinfo_h;
 
 /**
  * @brief A handle to get certificate information
  */
-typedef voidpkgmgrinfo_certinfo_h;
+typedef void *pkgmgrinfo_certinfo_h;
 
 /**
  * @brief A handle to filter package information
  */
-typedef void* pkgmgrinfo_pkginfo_filter_h;
+typedef void *pkgmgrinfo_pkginfo_filter_h;
+
+/**
+ * @brief A handle to get/set package update information
+ */
+typedef void *pkgmgrinfo_updateinfo_h;
 
 /**
  * @brief A handle to filter application information
  */
-typedef voidpkgmgrinfo_appinfo_filter_h;
+typedef void *pkgmgrinfo_appinfo_filter_h;
 
 /**
  * @brief A handle to filter application metadata  information
  */
-typedef voidpkgmgrinfo_appinfo_metadata_filter_h;
+typedef void *pkgmgrinfo_appinfo_metadata_filter_h;
 
 /**
  * @brief A handle to get appcontrol information
  */
-typedef void* pkgmgrinfo_appcontrol_h;
+typedef void *pkgmgrinfo_appcontrol_h;
+
+/**
+ * @brief A handle to get package archive information
+ */
+typedef void *pkgmgrinfo_archiveinfo_h;
 
 /**
  * @brief type definition.
@@ -176,7 +229,22 @@ typedef void* pkgmgrinfo_appcontrol_h;
 typedef void pkgmgrinfo_client;
 
 /**
- * @fn int (*pkgmgrinfo_pkg_list_cb ) (const pkgmgrinfo_pkginfo_h handle, void *user_data)
+ * @fn int (*pkgmgrinfo_foreach_updateinfo_cb) (const pkgmgrinfo_updateinfo_h handle, void *user_data)
+ *
+ * @brief Specifies the type of function passed to pkgmgrinfo_updateinfo_foreach_updateinfo()
+ *
+ * @param[in] handle the package update info handle
+ * @param[in] user_data user data passed to pkgmgrinfo_foreach_pkg_update info()
+ *
+ * @return 0 if success, negative value(<0) if fail. Callback is not called if return value is negative.\n
+ *
+ * @see  pkgmgrinfo_updateinfo_foreach_updateinfo()
+ */
+typedef int (*pkgmgrinfo_foreach_updateinfo_cb) (const pkgmgrinfo_updateinfo_h handle,
+                                                       void *user_data);
+
+/**
+ * @fn int (*pkgmgrinfo_pkg_list_cb) (const pkgmgrinfo_pkginfo_h handle, void *user_data)
  *
  * @brief Specifies the type of function passed to pkgmgrinfo_pkginfo_get_list(), pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
  *
@@ -188,11 +256,11 @@ typedef void pkgmgrinfo_client;
  * @see  pkgmgrinfo_pkginfo_get_list()
  * @see  pkgmgrinfo_pkginfo_filter_foreach_pkginfo()
  */
-typedef int (*pkgmgrinfo_pkg_list_cb ) (const pkgmgrinfo_pkginfo_h handle,
+typedef int (*pkgmgrinfo_pkg_list_cb) (const pkgmgrinfo_pkginfo_h handle,
                                                        void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_app_list_cb ) (const pkgmgrinfo_appinfo_h handle, void *user_data)
+ * @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(), pkgmgrinfo_appinfo_metadata_filter_foreach()
  *
@@ -205,11 +273,11 @@ typedef int (*pkgmgrinfo_pkg_list_cb ) (const pkgmgrinfo_pkginfo_h handle,
  * @see  pkgmgrinfo_appinfo_filter_foreach_appinfo()
  * @see  pkgmgrinfo_appinfo_metadata_filter_foreach()
  */
-typedef int (*pkgmgrinfo_app_list_cb ) (const pkgmgrinfo_appinfo_h handle,
+typedef int (*pkgmgrinfo_app_list_cb) (const pkgmgrinfo_appinfo_h handle,
                                                        void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_app_category_list_cb ) (const char *category_name, void *user_data)
+ * @fn int (*pkgmgrinfo_app_category_list_cb) (const char *category_name, void *user_data)
  *
  * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_category()
  *
@@ -220,41 +288,43 @@ typedef int (*pkgmgrinfo_app_list_cb ) (const pkgmgrinfo_appinfo_h handle,
  *
  * @see  pkgmgrinfo_appinfo_foreach_category()
  */
-typedef int (*pkgmgrinfo_app_category_list_cb ) (const char *category_name,
+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_app_metadata_list_cb ) (const char *metadata_key, const char *metadata_value, 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()
  *
@@ -266,11 +336,11 @@ typedef int (*pkgmgrinfo_pkg_privilege_list_cb ) (const char *privilege_name,
  *
  * @see  pkgmgrinfo_appinfo_foreach_metadata()
  */
-typedef int (*pkgmgrinfo_app_metadata_list_cb ) (const char *metadata_key,
+typedef int (*pkgmgrinfo_app_metadata_list_cb) (const char *metadata_key,
                                                        const char *metadata_value, void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_app_control_list_cb ) (pkgmgrinfo_appcontrol_h handle, void *user_data)
+ * @fn int (*pkgmgrinfo_app_control_list_cb) (pkgmgrinfo_appcontrol_h handle, void *user_data)
  *
  * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_appcontrol()
  *
@@ -281,11 +351,11 @@ typedef int (*pkgmgrinfo_app_metadata_list_cb ) (const char *metadata_key,
  *
  * @see  pkgmgrinfo_appinfo_foreach_appcontrol()
  */
-typedef int (*pkgmgrinfo_app_control_list_cb ) (const char *operation, const char *uri, const char *mime,
+typedef int (*pkgmgrinfo_app_control_list_cb) (const char *operation, const char *uri, const char *mime,
                                                        void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_app_background_category_list_cb ) (const char *category_name, void *user_data)
+ * @fn int (*pkgmgrinfo_app_background_category_list_cb) (const char *category_name, void *user_data)
  *
  * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_background_category()
  *
@@ -296,12 +366,13 @@ typedef int (*pkgmgrinfo_app_control_list_cb ) (const char *operation, const cha
  *
  * @see  pkgmgrinfo_appinfo_foreach_background_category()
  */
-typedef int (*pkgmgrinfo_app_background_category_list_cb ) (const char *category_name, void *user_data);
+typedef int (*pkgmgrinfo_app_background_category_list_cb) (const char *category_name, void *user_data);
 
 /**
- * @fn int (*pkgmgrinfo_app_splash_screen_list_cb) (const char *src,
+ * @fn int (*pkgmgrinfo_app_splash_screen_list_cb)(const char *src,
  *             const char *type, const char *orientation,
- *             const char *indicatordisplay, void *user_data);
+ *             const char *indicatordisplay, const char *color_depth,
+ *             void *user_data);
  * @brief Specifies the type of function passed to pkgmgrinfo_appinfo_foreach_splash_screen()
  *
  * @param[in] src the source of the splashscreen
@@ -309,21 +380,17 @@ typedef int (*pkgmgrinfo_app_background_category_list_cb ) (const char *category
  * @param[in] orientation the orientation of the splashscreen
  * @param[in] indicatordisplay the indicator-display of the splashscreen
  * @param[in] operation the app-control operation of the splashscreen
+ * @param[in] color_depth the color-depth of the splashscreen
  * @param[in] user_data user data passed to pkgmgrinfo_appinfo_foreach_splash_screen()
  *
  * @return 0 if success, negative value(<0) if fail, Callback is not called if return value is negative.\n
  *
  * @see        pkgmgrinfo_appinfo_foreach_splash_screen()
  */
-typedef int (*pkgmgrinfo_app_splash_screen_list_cb) (const char *src,
+typedef int (*pkgmgrinfo_app_splash_screen_list_cb)(const char *src,
                const char *type, const char *orientation,
                const char *indicatordisplay, const char *operation,
-               void *user_data);
-
-typedef int (*pkgmgrinfo_handler)(uid_t target_uid, int req_id, const char *pkg_type,
-                               const char *pkgid, const char *key,
-                               const char *val, const void *pmsg, void *data);
-
+               const char *color_depth, void *user_data);
 
 /**
  * @brief Install Location Types
@@ -342,6 +409,7 @@ typedef enum {
        PMINFO_UI_APP,          /**< UI Application*/
        PMINFO_SVC_APP,         /**< Service Application*/
        PMINFO_WIDGET_APP,      /**< Widget Application*/
+       PMINFO_WATCH_APP,  /**< Watch Application*/
 } pkgmgrinfo_app_component;
 
 /**
@@ -350,6 +418,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;
 
 /**
@@ -368,26 +437,30 @@ typedef enum {
 } pkgmgrinfo_cert_type;
 
 /**
+ * @brief version comparison Types
+ */
+typedef enum {
+       PMINFO_VERSION_OLD = -1,
+       PMINFO_VERSION_SAME,
+       PMINFO_VERSION_NEW,
+} pkgmgrinfo_version_compare_type;
+
+/**
  * @brief Install Location Types to be used when setting data in DB
  */
 typedef enum {
        INSTALL_INTERNAL = 0,           /**< Internal Installation*/
        INSTALL_EXTERNAL,               /**< External Installation*/
+       INSTALL_EXTENDED,               /**< Extended Installation*/
 } INSTALL_LOCATION;
 
- /**
 * @brief permission Types
 */
+/**
+ * @brief permission Types
+ */
 typedef enum {
-       PMINFO_PERMISSION_NORMAL = 0,            /**< permission normal*/
-       PMINFO_PERMISSION_SIGNATURE,     /**< permission type is signature*/
-       PMINFO_PERMISSION_PRIVILEGE,     /**< permission type is privilege*/
+       PMINFO_PERMISSION_NORMAL = 0,           /**< permission normal*/
+       PMINFO_PERMISSION_SIGNATURE,            /**< permission type is signature*/
+       PMINFO_PERMISSION_PRIVILEGE,            /**< permission type is privilege*/
 } pkgmgrinfo_permission_type;
 
-typedef enum {
-       PMINFO_REQUEST = 0,
-       PMINFO_LISTENING,
-       PMINFO_BROADCAST,
-} pkgmgrinfo_client_type;
-
 #endif