add new filter key to get installed storage
[platform/core/appfw/pkgmgr-info.git] / include / pkgmgr-info-internal.h
1 /*
2  * pkgmgr-info
3  *
4  * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
5  *
6  * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>,
7  * Jaeho Lee <jaeho81.lee@samsung.com>, Shobhit Srivastava <shobhit.s@samsung.com>
8  *
9  * Licensed under the Apache License, Version 2.0 (the "License");
10  * you may not use this file except in compliance with the License.
11  * You may obtain a copy of the License at
12  *
13  * http://www.apache.org/licenses/LICENSE-2.0
14  *
15  * Unless required by applicable law or agreed to in writing, software
16  * distributed under the License is distributed on an "AS IS" BASIS,
17  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18  * See the License for the specific language governing permissions and
19  * limitations under the License.
20  *
21  */
22
23
24 #ifndef __PKGMGR_INFO_INTERNAL_H__
25 #define __PKGMGR_INFO_INTERNAL_H__
26
27 #include <dlog.h>
28 #include "pkgmgr-info-debug.h"
29
30 #ifndef DEPRECATED
31 #define DEPRECATED      __attribute__ ((__deprecated__))
32 #endif
33
34 #ifndef API
35 #define API __attribute__ ((visibility("default")))
36 #endif
37
38 /*String properties for filtering based on package info*/
39 typedef enum _pkgmgrinfo_pkginfo_filter_prop_str {
40         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_STR = 101,
41         E_PMINFO_PKGINFO_PROP_PACKAGE_ID = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_STR,
42         E_PMINFO_PKGINFO_PROP_PACKAGE_TYPE,
43         E_PMINFO_PKGINFO_PROP_PACKAGE_VERSION,
44         E_PMINFO_PKGINFO_PROP_PACKAGE_INSTALL_LOCATION,
45         E_PMINFO_PKGINFO_PROP_PACKAGE_INSTALLED_STORAGE,
46         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_NAME,
47         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_EMAIL,
48         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF,
49         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_STR = E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF
50 } pkgmgrinfo_pkginfo_filter_prop_str;
51
52 /*Boolean properties for filtering based on package info*/
53 typedef enum _pkgmgrinfo_pkginfo_filter_prop_bool {
54         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_BOOL = 201,
55         E_PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_BOOL,
56         E_PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD,
57         E_PMINFO_PKGINFO_PROP_PACKAGE_READONLY,
58         E_PMINFO_PKGINFO_PROP_PACKAGE_UPDATE,
59         E_PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING,
60         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_BOOL = E_PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING
61 } pkgmgrinfo_pkginfo_filter_prop_bool;
62
63 /*Integer properties for filtering based on package info*/
64 typedef enum _pkgmgrinfo_pkginfo_filter_prop_int {
65         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_INT = 301,
66         E_PMINFO_PKGINFO_PROP_PACKAGE_SIZE = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_INT,
67         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_INT = E_PMINFO_PKGINFO_PROP_PACKAGE_SIZE
68 } pkgmgrinfo_pkginfo_filter_prop_int;
69
70 /*String properties for filtering based on app info*/
71 typedef enum _pkgmgrinfo_appinfo_filter_prop_str {
72         E_PMINFO_APPINFO_PROP_APP_MIN_STR = 401,
73         E_PMINFO_APPINFO_PROP_APP_ID = E_PMINFO_APPINFO_PROP_APP_MIN_STR,
74         E_PMINFO_APPINFO_PROP_APP_COMPONENT,
75         E_PMINFO_APPINFO_PROP_APP_EXEC,
76         E_PMINFO_APPINFO_PROP_APP_ICON,
77         E_PMINFO_APPINFO_PROP_APP_TYPE,
78         E_PMINFO_APPINFO_PROP_APP_OPERATION,
79         E_PMINFO_APPINFO_PROP_APP_URI,
80         E_PMINFO_APPINFO_PROP_APP_MIME,
81         E_PMINFO_APPINFO_PROP_APP_HWACCELERATION,
82         E_PMINFO_APPINFO_PROP_APP_CATEGORY,
83         E_PMINFO_APPINFO_PROP_APP_MAX_STR = E_PMINFO_APPINFO_PROP_APP_CATEGORY
84 } pkgmgrinfo_appinfo_filter_prop_str;
85
86 /*Boolean properties for filtering based on app info*/
87 typedef enum _pkgmgrinfo_appinfo_filter_prop_bool {
88         E_PMINFO_APPINFO_PROP_APP_MIN_BOOL = 501,
89         E_PMINFO_APPINFO_PROP_APP_NODISPLAY = E_PMINFO_APPINFO_PROP_APP_MIN_BOOL,
90         E_PMINFO_APPINFO_PROP_APP_MULTIPLE,
91         E_PMINFO_APPINFO_PROP_APP_ONBOOT,
92         E_PMINFO_APPINFO_PROP_APP_AUTORESTART,
93         E_PMINFO_APPINFO_PROP_APP_TASKMANAGE,
94         E_PMINFO_APPINFO_PROP_APP_MAX_BOOL = E_PMINFO_APPINFO_PROP_APP_TASKMANAGE
95 } pkgmgrinfo_appinfo_filter_prop_bool;
96
97 /*Integer properties for filtering based on app info*/
98 typedef enum _pkgmgrinfo_appinfo_filter_prop_int {
99         /*Currently No Fields*/
100         E_PMINFO_APPINFO_PROP_APP_MIN_INT = 601,
101         E_PMINFO_APPINFO_PROP_APP_MAX_INT = E_PMINFO_APPINFO_PROP_APP_MIN_INT
102 } pkgmgrinfo_appinfo_filter_prop_int;
103
104 pkgmgrinfo_pkginfo_filter_prop_str _pminfo_pkginfo_convert_to_prop_str(const char *property);
105 pkgmgrinfo_pkginfo_filter_prop_int _pminfo_pkginfo_convert_to_prop_int(const char *property);
106 pkgmgrinfo_pkginfo_filter_prop_bool _pminfo_pkginfo_convert_to_prop_bool(const char *property);
107
108 pkgmgrinfo_appinfo_filter_prop_str _pminfo_appinfo_convert_to_prop_str(const char *property);
109 pkgmgrinfo_appinfo_filter_prop_int _pminfo_appinfo_convert_to_prop_int(const char *property);
110 pkgmgrinfo_appinfo_filter_prop_bool _pminfo_appinfo_convert_to_prop_bool(const char *property);
111
112 #endif  /* __PKGMGR_INFO_INTERNAL_H__ */