Merge "Add missing declaration" into tizen
[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 #ifndef DEPRECATED
28 #define DEPRECATED      __attribute__ ((__deprecated__))
29 #endif
30
31 #ifndef API
32 #define API __attribute__ ((visibility("default")))
33 #endif
34
35 /*String properties for filtering based on package info*/
36 typedef enum _pkgmgrinfo_pkginfo_filter_prop_str {
37         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_STR = 101,
38         E_PMINFO_PKGINFO_PROP_PACKAGE_ID = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_STR,
39         E_PMINFO_PKGINFO_PROP_PACKAGE_TYPE,
40         E_PMINFO_PKGINFO_PROP_PACKAGE_VERSION,
41         E_PMINFO_PKGINFO_PROP_PACKAGE_INSTALL_LOCATION,
42         E_PMINFO_PKGINFO_PROP_PACKAGE_INSTALLED_STORAGE,
43         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_NAME,
44         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_EMAIL,
45         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF,
46         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_STR = E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF
47 } pkgmgrinfo_pkginfo_filter_prop_str;
48
49 /*Boolean properties for filtering based on package info*/
50 typedef enum _pkgmgrinfo_pkginfo_filter_prop_bool {
51         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_BOOL = 201,
52         E_PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_BOOL,
53         E_PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD,
54         E_PMINFO_PKGINFO_PROP_PACKAGE_READONLY,
55         E_PMINFO_PKGINFO_PROP_PACKAGE_UPDATE,
56         E_PMINFO_PKGINFO_PROP_PACKAGE_APPSETTING,
57         E_PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING,
58         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_BOOL = E_PMINFO_PKGINFO_PROP_PACKAGE_NODISPLAY_SETTING
59 } pkgmgrinfo_pkginfo_filter_prop_bool;
60
61 /*Integer properties for filtering based on package info*/
62 typedef enum _pkgmgrinfo_pkginfo_filter_prop_int {
63         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_INT = 301,
64         E_PMINFO_PKGINFO_PROP_PACKAGE_SIZE = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_INT,
65         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_INT = E_PMINFO_PKGINFO_PROP_PACKAGE_SIZE
66 } pkgmgrinfo_pkginfo_filter_prop_int;
67
68 /*String properties for filtering based on app info*/
69 typedef enum _pkgmgrinfo_appinfo_filter_prop_str {
70         E_PMINFO_APPINFO_PROP_APP_MIN_STR = 401,
71         E_PMINFO_APPINFO_PROP_APP_ID = E_PMINFO_APPINFO_PROP_APP_MIN_STR,
72         E_PMINFO_APPINFO_PROP_APP_COMPONENT,
73         E_PMINFO_APPINFO_PROP_APP_EXEC,
74         E_PMINFO_APPINFO_PROP_APP_ICON,
75         E_PMINFO_APPINFO_PROP_APP_TYPE,
76         E_PMINFO_APPINFO_PROP_APP_OPERATION,
77         E_PMINFO_APPINFO_PROP_APP_URI,
78         E_PMINFO_APPINFO_PROP_APP_MIME,
79         E_PMINFO_APPINFO_PROP_APP_HWACCELERATION,
80         E_PMINFO_APPINFO_PROP_APP_CATEGORY,
81         E_PMINFO_APPINFO_PROP_APP_SCREENREADER,
82         E_PMINFO_APPINFO_PROP_APP_MAX_STR = E_PMINFO_APPINFO_PROP_APP_CATEGORY
83 } pkgmgrinfo_appinfo_filter_prop_str;
84
85 /*Boolean properties for filtering based on app info*/
86 typedef enum _pkgmgrinfo_appinfo_filter_prop_bool {
87         E_PMINFO_APPINFO_PROP_APP_MIN_BOOL = 501,
88         E_PMINFO_APPINFO_PROP_APP_NODISPLAY = E_PMINFO_APPINFO_PROP_APP_MIN_BOOL,
89         E_PMINFO_APPINFO_PROP_APP_MULTIPLE,
90         E_PMINFO_APPINFO_PROP_APP_ONBOOT,
91         E_PMINFO_APPINFO_PROP_APP_AUTORESTART,
92         E_PMINFO_APPINFO_PROP_APP_TASKMANAGE,
93         E_PMINFO_APPINFO_PROP_APP_LAUNCHCONDITION,
94         E_PMINFO_APPINFO_PROP_APP_MAX_BOOL = E_PMINFO_APPINFO_PROP_APP_LAUNCHCONDITION
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 /*Integer properties for filtering based on app info*/
105 typedef enum _pkgmgrinfo_pkginfo_filter_prop_range {
106         /*Currently No Fields*/
107         E_PMINFO_PKGINFO_PROP_RANGE_MIN_INT = 701,
108         E_PMINFO_PKGINFO_PROP_RANGE_BASIC,
109         E_PMINFO_PKGINFO_PROP_RANGE_MAX_INT = E_PMINFO_PKGINFO_PROP_RANGE_BASIC
110 } pkgmgrinfo_pkginfo_filter_prop_range;
111
112
113 pkgmgrinfo_pkginfo_filter_prop_str _pminfo_pkginfo_convert_to_prop_str(const char *property);
114 pkgmgrinfo_pkginfo_filter_prop_int _pminfo_pkginfo_convert_to_prop_int(const char *property);
115 pkgmgrinfo_pkginfo_filter_prop_bool _pminfo_pkginfo_convert_to_prop_bool(const char *property);
116
117 pkgmgrinfo_appinfo_filter_prop_str _pminfo_appinfo_convert_to_prop_str(const char *property);
118 pkgmgrinfo_appinfo_filter_prop_int _pminfo_appinfo_convert_to_prop_int(const char *property);
119 pkgmgrinfo_appinfo_filter_prop_bool _pminfo_appinfo_convert_to_prop_bool(const char *property);
120
121 pkgmgrinfo_pkginfo_filter_prop_range _pminfo_pkginfo_convert_to_prop_range(const char *property);
122
123 #endif  /* __PKGMGR_INFO_INTERNAL_H__ */