Add metadata to pkginfo
[platform/core/appfw/pkgmgr-info.git] / include / pkgmgrinfo_basic.h
1 #ifndef __PKGMGR_INFO_BASIC_H__
2 #define __PKGMGR_INFO_BASIC_H__
3
4 #include <glib.h>
5
6 #ifdef __cplusplus
7 extern "C" {
8 #endif
9
10 typedef struct metadata_x {
11         char *key;
12         char *value;
13 } metadata_x;
14
15 typedef struct permission_x {
16         char *type;
17         char *value;
18 } permission_x;
19
20 typedef struct icon_x {
21         char *text;
22         char *lang;
23         char *section;
24         char *size;
25         char *resolution;
26         char *dpi;
27 } icon_x;
28
29 typedef struct image_x {
30         char *text;
31         char *lang;
32         char *section;
33 } image_x;
34
35 typedef struct define_x {
36         char *path;
37         GList *allowed;
38         GList *request;
39 } define_x;
40
41 typedef struct datashare_x {
42         GList *define;
43         GList *request;
44 } datashare_x;
45
46 typedef struct description_x {
47         char *name;
48         char *text;
49         char *lang;
50 } description_x;
51
52 typedef struct label_x {
53         char *name;
54         char *text;
55         char *lang;
56 } label_x;
57
58 typedef struct author_x {
59         char *email;
60         char *href;
61         char *text;
62         char *lang;
63 } author_x;
64
65 typedef struct license_x {
66         char *text;
67         char *lang;
68 } license_x;
69
70 typedef struct notification_x {
71         char *name;
72         char *text;
73 } notification_x;
74
75 typedef struct appcontrol_x {
76         char *operation;
77         char *uri;
78         char *mime;
79         char *visibility;
80         char *id;
81         GList *privileges;
82 } appcontrol_x;
83
84 typedef struct compatibility_x {
85         char *name;
86         char *text;
87 } compatibility_x;
88
89 typedef struct plugin_x {
90         char *pkgid;
91         char *appid;
92         char *plugin_type;
93         char *plugin_name;
94 } plugin_x;
95
96 typedef struct datacontrol_x {
97         char *providerid;
98         char *access;
99         char *type;
100         char *trusted;
101         GList *privileges;
102 } datacontrol_x;
103
104 typedef struct splashscreen_x {
105         char *src;
106         char *type;
107         char *dpi;
108         char *orientation;
109         char *indicatordisplay;
110         char *operation;
111         char *color_depth;
112 } splashscreen_x;
113
114 typedef struct privilege_x {
115         char *type;
116         char *value;
117 } privilege_x;
118
119 typedef struct appdefined_privilege_x {
120         char *type;
121         char *value;
122         char *license;
123 } appdefined_privilege_x;
124
125 typedef struct dependency_x {
126         char *pkgid;
127         char *depends_on;
128         char *type;
129         char *required_version;
130 } dependency_x;
131
132 typedef struct res_allowed_package_x {
133         char *allowed_package;
134         GList *required_privileges;
135 } res_allowed_package_x;
136
137 typedef struct res_control_x {
138         char *res_type;
139         char *min_res_version;
140         char *max_res_version;
141         char *auto_close;
142 } res_control_x;
143
144 typedef struct application_x {
145         char *appid;    /*attr*/
146         char *exec;     /*attr*/
147         char *nodisplay;        /*attr, default: "false"*/
148         char *multiple; /*attr, default: "false"*/
149         char *taskmanage;       /*attr, default: "true"*/
150         char *type;     /*attr*/
151         char *categories;       /*attr*/
152         char *extraid;  /*attr*/
153         char *hwacceleration;   /*attr, default: "default"*/
154         char *screenreader;     /*attr, default: "use-system-setting"*/
155         char *mainapp;  /*attr, default: "false"*/
156         char *package;  /*set from package_x*/
157         char *recentimage;      /*attr, default: "false"*/
158         char *launchcondition;  /*attr, default: "false"*/
159         char *indicatordisplay; /*attr, default: "true"*/
160         char *portraitimg;      /*attr*/
161         char *landscapeimg;     /*attr*/
162         char *effectimage_type; /*attr, default: "image"*/
163         char *guestmode_visibility;     /*attr, default: "true"*/
164         char *component;        /*no xml part*/
165         char *permission_type;  /*attr, default: "normal"*/
166         char *component_type;   /*attr, default: "uiapp"*/
167         char *preload;  /*no xml part*/
168         char *submode;  /*attr, default: "false"*/
169         char *submode_mainid;   /*attr, default: "false"*/
170         char *process_pool;     /*attr, default: "false"*/
171         char *installed_storage;
172         char *autorestart;      /*attr, default: "false"*/
173         char *onboot;   /*attr, default: "false"*/
174         char *support_disable;  /*set from package_x*/
175         char *ui_gadget;        /*attr, default: "false"*/
176         char *launch_mode;      /*attr, default: "single"*/
177         char *support_ambient;  /*attr, default: "false"*/
178         char *setup_appid;      /*attr*/
179         char *alias_appid;      /*attr*/
180         char *effective_appid;  /*attr*/
181         char *package_type;     /*set from package_x*/
182         char *tep_name; /*set from package_x*/
183         char *zip_mount_file;   /*set from package_x*/
184         char *root_path;        /*set from package_x*/
185         char *api_version;      /*set from package_x*/
186         char *for_all_users; /**< Flag that indicates if the package is available for everyone or for current user only, no xml part*/
187         char *is_disabled; /**< Flag that indicates if the application is disabled or not, no xml part*/
188         char *splash_screen_display; /*attr, default: "true"*/
189         char *external_path; /**< external storage path if exists, no xml part*/
190         char *package_system; /*set from package_x*/
191         char *removable; /*set from package_x*/
192         char *package_installed_time; /*installed time after finishing of installation*/
193         char *support_mode; /*attr*/
194         char *locale;   /*no xml part*/
195         char *light_user_switch_mode;   /**< light_user_switch_mode flag, attr, default: "dafault"*/
196         GList *label;   /*element*/
197         GList *icon;    /*element*/
198         GList *image;   /*element*/
199         GList *category; /*element*/
200         GList *metadata;        /*element*/
201         GList *permission;      /*element*/
202         GList *launchconditions;        /*element*/
203         GList *notification;    /*element*/
204         GList *datashare;       /*element*/
205         GList *datacontrol; /*element*/
206         GList *background_category; /*element*/
207         GList *appcontrol; /*element*/
208         GList *splashscreens; /*element*/
209         GList *res_control; /*element*/
210         GList *privileges; /*element*/
211 } application_x;
212
213 typedef struct package_x {
214         char *for_all_users;            /**< Flag that indicates if the package is available for everyone or for current user only, no xml part*/
215         char *package;          /**< package name, attr*/
216         char *version;          /**< package version, attr*/
217         char *installlocation;          /**< package install location, attr, default: "internal-only"*/
218         char *ns;               /**<name space, attr*/
219         char *removable;                /**< package removable flag, no xml part*/
220         char *preload;          /**< package preload flag, no xml part*/
221         char *readonly;         /**< package readonly flag, no xml part*/
222         char *update;                   /**< package update flag, no xml part*/
223         char *appsetting;               /**< package app setting flag, attr, default: "false"*/
224         char *system;           /**< package system flag, no xml part*/
225         char *type;             /**< package type, attr*/
226         char *package_size;             /**< package size for external installation, attr*/
227         char *installed_time;           /**< installed time after finishing of installation, no xml part*/
228         char *installed_storage;                /**< package currently installed storage, no xml part*/
229         char *storeclient_id;           /**< id of store client for installed package, attr*/
230         char *mainapp_id;               /**< app id of main application, no xml part*/
231         char *package_url;              /**< app id of main application, attr*/
232         char *root_path;                /**< package root path, attr*/
233         char *csc_path;         /**< package csc path, attr*/
234         char *nodisplay_setting;                /**< package no display setting menu, attr, default: "false"*/
235         char *support_mode; /**< package support mode, attr*/
236         char *support_disable;          /**< package support disable flag, attr, default: "false"*/
237         char *api_version;              /**< minimum version of API package using, attr, default: patch_version trimmed version from tizen_full_version*/
238         char *tep_name; /*no xml part*/
239         char *zip_mount_file;   /*no xml part*/
240         char *backend_installer;                /**< package backend installer, attr*/
241         char *external_path; /**< external storage path if exists, no xml part*/
242         char *use_system_certs; /**< use system certificates, attr*/
243         char *locale;   /*no xml part*/
244         char *res_type; /**< res type, attr*/
245         char *res_version;      /**< res version, attr*/
246         char *is_disabled; /**< Flag that indicates if the package is disabled or not, no xml part*/
247         char *light_user_switch_mode;   /**< light_user_switch_mode flag, attr, default: "dafault"*/
248         GList *icon;            /**< package icon, element*/
249         GList *label;           /**< package label, element*/
250         GList *author;          /**< package author, element*/
251         GList *description;             /**< package description, element*/
252         GList *license;         /**< package license, no xml part*/
253         GList *privileges;      /**< package privileges, element*/
254         GList *appdefined_privileges;   /**<package appdefined privileges, element*/
255         GList *provides_appdefined_privileges;  /**<package providing appdefined privileges, element*/
256         GList *application;             /**< package's application, element*/
257         GList *compatibility;           /**< package compatibility, element*/
258         GList *deviceprofile;           /**< package device profile, element*/
259         GList *dependencies;            /**< package dependencies, element*/
260         GList *plugin;          /**< plugin execution list, no xml part*/
261         GList *res_allowed_packages;            /**< res allowed packages, element*/
262         GList *metadata;                /*element*/
263 } package_x;
264
265 typedef struct updateinfo_x {
266         char *pkgid;
267         char *version;
268         int type;
269 } updateinfo_x;
270
271 typedef struct package_x manifest_x;
272
273 void pkgmgrinfo_basic_free_application(application_x *application);
274 void pkgmgrinfo_basic_free_dependency(dependency_x *dependency);
275 void pkgmgrinfo_basic_free_package(package_x *package);
276
277 #ifdef __cplusplus
278 }
279 #endif /* __cplusplus */
280 #endif