merge with master
[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_AUTHOR_NAME,
46         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_EMAIL,
47         E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF,
48         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_STR = E_PMINFO_PKGINFO_PROP_PACKAGE_AUTHOR_HREF
49 } pkgmgrinfo_pkginfo_filter_prop_str;
50
51 /*Boolean properties for filtering based on package info*/
52 typedef enum _pkgmgrinfo_pkginfo_filter_prop_bool {
53         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_BOOL = 201,
54         E_PMINFO_PKGINFO_PROP_PACKAGE_REMOVABLE = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_BOOL,
55         E_PMINFO_PKGINFO_PROP_PACKAGE_PRELOAD,
56         E_PMINFO_PKGINFO_PROP_PACKAGE_READONLY,
57         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_BOOL = E_PMINFO_PKGINFO_PROP_PACKAGE_READONLY
58 } pkgmgrinfo_pkginfo_filter_prop_bool;
59
60 /*Integer properties for filtering based on package info*/
61 typedef enum _pkgmgrinfo_pkginfo_filter_prop_int {
62         E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_INT = 301,
63         E_PMINFO_PKGINFO_PROP_PACKAGE_SIZE = E_PMINFO_PKGINFO_PROP_PACKAGE_MIN_INT,
64         E_PMINFO_PKGINFO_PROP_PACKAGE_MAX_INT = E_PMINFO_PKGINFO_PROP_PACKAGE_SIZE
65 } pkgmgrinfo_pkginfo_filter_prop_int;
66
67 /*String properties for filtering based on app info*/
68 typedef enum _pkgmgrinfo_appinfo_filter_prop_str {
69         E_PMINFO_APPINFO_PROP_APP_MIN_STR = 401,
70         E_PMINFO_APPINFO_PROP_APP_ID = E_PMINFO_APPINFO_PROP_APP_MIN_STR,
71         E_PMINFO_APPINFO_PROP_APP_COMPONENT,
72         E_PMINFO_APPINFO_PROP_APP_EXEC,
73         E_PMINFO_APPINFO_PROP_APP_ICON,
74         E_PMINFO_APPINFO_PROP_APP_TYPE,
75         E_PMINFO_APPINFO_PROP_APP_OPERATION,
76         E_PMINFO_APPINFO_PROP_APP_URI,
77         E_PMINFO_APPINFO_PROP_APP_MIME,
78         E_PMINFO_APPINFO_PROP_APP_HWACCELERATION,
79         E_PMINFO_APPINFO_PROP_APP_CATEGORY,
80         E_PMINFO_APPINFO_PROP_APP_MAX_STR = E_PMINFO_APPINFO_PROP_APP_CATEGORY
81 } pkgmgrinfo_appinfo_filter_prop_str;
82
83 /*Boolean properties for filtering based on app info*/
84 typedef enum _pkgmgrinfo_appinfo_filter_prop_bool {
85         E_PMINFO_APPINFO_PROP_APP_MIN_BOOL = 501,
86         E_PMINFO_APPINFO_PROP_APP_NODISPLAY = E_PMINFO_APPINFO_PROP_APP_MIN_BOOL,
87         E_PMINFO_APPINFO_PROP_APP_MULTIPLE,
88         E_PMINFO_APPINFO_PROP_APP_ONBOOT,
89         E_PMINFO_APPINFO_PROP_APP_AUTORESTART,
90         E_PMINFO_APPINFO_PROP_APP_TASKMANAGE,
91         E_PMINFO_APPINFO_PROP_APP_MAX_BOOL = E_PMINFO_APPINFO_PROP_APP_TASKMANAGE
92 } pkgmgrinfo_appinfo_filter_prop_bool;
93
94 /*Integer properties for filtering based on app info*/
95 typedef enum _pkgmgrinfo_appinfo_filter_prop_int {
96         /*Currently No Fields*/
97         E_PMINFO_APPINFO_PROP_APP_MIN_INT = 601,
98         E_PMINFO_APPINFO_PROP_APP_MAX_INT = E_PMINFO_APPINFO_PROP_APP_MIN_INT
99 } pkgmgrinfo_appinfo_filter_prop_int;
100
101 pkgmgrinfo_pkginfo_filter_prop_str _pminfo_pkginfo_convert_to_prop_str(const char *property);
102 pkgmgrinfo_pkginfo_filter_prop_int _pminfo_pkginfo_convert_to_prop_int(const char *property);
103 pkgmgrinfo_pkginfo_filter_prop_bool _pminfo_pkginfo_convert_to_prop_bool(const char *property);
104
105 pkgmgrinfo_appinfo_filter_prop_str _pminfo_appinfo_convert_to_prop_str(const char *property);
106 pkgmgrinfo_appinfo_filter_prop_int _pminfo_appinfo_convert_to_prop_int(const char *property);
107 pkgmgrinfo_appinfo_filter_prop_bool _pminfo_appinfo_convert_to_prop_bool(const char *property);
108
109 #endif  /* __PKGMGR_INFO_INTERNAL_H__ */