2 * Copyright 2013 Samsung Electronics Co., Ltd
4 * Licensed under the Flora License, Version 1.1 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://floralicense.org/license/
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
22 extern void dbox_invoke_event_handler(struct dynamicbox *handler, dynamicbox_event_type_e event);
23 extern void dbox_invoke_fault_handler(dynamicbox_fault_type_e type, const char *pkgname, const char *filename, const char *function);
25 extern struct dynamicbox_common *dbox_find_common_handle(const char *pkgname, const char *filename);
26 extern struct dynamicbox *dbox_new_dynamicbox(const char *pkgname, const char *id, double timestamp, const char *cluster, const char *category);
27 extern struct dynamicbox_common *dbox_find_common_handle_by_timestamp(double timestamp);
29 extern int dbox_set_group(struct dynamicbox_common *common, const char *cluster, const char *category);
30 extern void dbox_set_size(struct dynamicbox_common *common, int w, int h);
31 extern void dbox_set_gbarsize(struct dynamicbox_common *common, int w, int h);
32 extern void dbox_set_default_gbarsize(struct dynamicbox_common *common, int w, int h);
33 extern int dbox_set_content(struct dynamicbox_common *common, const char *content);
34 extern int dbox_set_title(struct dynamicbox_common *handler, const char *title);
35 extern void dbox_set_auto_launch(struct dynamicbox_common *handler, const char *auto_launch);
36 extern void dbox_set_id(struct dynamicbox_common *handler, const char *id);
37 extern void dbox_set_size_list(struct dynamicbox_common *handler, int size_list);
38 extern void dbox_set_priority(struct dynamicbox_common *handler, double priority);
39 extern int dbox_set_dbox_fb(struct dynamicbox_common *handler, const char *filename);
40 extern int dbox_set_gbar_fb(struct dynamicbox_common *handler, const char *filename);
41 extern struct fb_info *dbox_get_gbar_fb(struct dynamicbox_common *handler);
42 extern struct fb_info *dbox_get_dbox_fb(struct dynamicbox_common *handler);
43 extern void dbox_set_user(struct dynamicbox_common *handler, int user);
44 extern void dbox_set_pinup(struct dynamicbox_common *handler, int pinup);
45 extern void dbox_set_text_dbox(struct dynamicbox_common *handler);
46 extern void dbox_set_text_gbar(struct dynamicbox_common *handler);
47 extern int dbox_text_dbox(struct dynamicbox_common *handler);
48 extern int dbox_text_gbar(struct dynamicbox_common *handler);
49 extern void dbox_set_period(struct dynamicbox_common *handler, double period);
50 extern void dbox_set_update_mode(struct dynamicbox_common *handler, int active_mode);
51 extern void dbox_set_filename(struct dynamicbox_common *handler, const char *filename);
52 extern void dbox_unlink_filename(struct dynamicbox_common *common);
53 extern void dbox_set_alt_icon(struct dynamicbox_common *handler, const char *icon);
54 extern void dbox_set_alt_name(struct dynamicbox_common *handle, const char *name);
55 extern int dbox_destroy_common_handle(struct dynamicbox_common *common);
56 extern struct dynamicbox_common *dbox_create_common_handle(struct dynamicbox *handle, const char *pkgname, const char *cluster, const char *category);
57 extern int dbox_sync_gbar_fb(struct dynamicbox_common *common);
58 extern int dbox_sync_dbox_fb(struct dynamicbox_common *common);
59 extern int dbox_common_unref(struct dynamicbox_common *common, struct dynamicbox *handle);
60 extern int dbox_common_ref(struct dynamicbox_common *common, struct dynamicbox *handle);
61 extern struct dynamicbox_common *dbox_find_sharable_common_handle(const char *pkgname, const char *content, int w, int h, const char *cluster, const char *category);
62 extern struct dynamicbox *dbox_find_dbox_in_show(struct dynamicbox_common *common);
63 extern struct dynamicbox *dbox_get_dbox_nth(struct dynamicbox_common *common, int nth);
64 extern void *dbox_remove_event_handler(dynamicbox_event_handler_cb dbox_cb);
65 extern int dbox_add_event_handler(dynamicbox_event_handler_cb dbox_cb, void *data);
66 extern int dbox_add_fault_handler(dynamicbox_fault_handler_cb dbox_cb, void *data);
67 extern void *dbox_remove_fault_handler(dynamicbox_fault_handler_cb dbox_cb);
68 extern struct cb_info *dbox_create_cb_info(dynamicbox_ret_cb cb, void *data);
69 extern void dbox_destroy_cb_info(struct cb_info *info);
71 extern struct dynamicbox *dbox_ref(struct dynamicbox *handler);
72 extern struct dynamicbox *dbox_unref(struct dynamicbox *handler, int destroy_common);
73 extern int dbox_send_delete(struct dynamicbox *handler, int type, dynamicbox_ret_cb cb, void *data);
74 extern int dbox_delete_all(void);
76 typedef enum dynamicbox_state {
77 DBOX_STATE_CREATE = 0xBEEFbeef,
78 DBOX_STATE_DELETE = 0xDEADdead, /* Delete only for this client */
79 DBOX_STATE_DESTROYED = 0x00DEAD00
82 struct dynamicbox_common {
83 dynamicbox_state_e state;
85 struct dlist *dynamicbox_list;
105 dynamicbox_delete_type_e delete_type;
110 int is_active_update;
111 dynamicbox_visible_state_e visible;
114 dynamicbox_dbox_type_e type;
128 /* For the filtering event */
132 /* For the extra buffer */
133 unsigned int *extra_buffer;
134 int last_extra_buffer_idx;
137 dynamicbox_lock_info_t lock;
139 /* For damaged region */
140 struct dynamicbox_damage_region last_damage;
144 dynamicbox_gbar_type_e type;
153 /* For the filtering event */
157 /* For the extra buffer */
158 unsigned int *extra_buffer;
159 int last_extra_buffer_idx;
162 dynamicbox_lock_info_t lock;
164 /* For damaged region */
165 struct dynamicbox_damage_region last_damage;
170 struct requested_flag {
171 unsigned int created:1;
172 unsigned int deleted:1;
173 unsigned int pinup:1;
174 unsigned int group_changed:1;
175 unsigned int period_changed:1;
176 unsigned int size_changed:1;
177 unsigned int gbar_created:1;
178 unsigned int gbar_destroyed:1;
179 unsigned int update_mode:1;
180 unsigned int access_event:1;
181 unsigned int key_event:1;
187 unsigned int reserved:21;
192 struct dynamicbox *handle;
193 dynamicbox_ret_cb cb;
199 dynamicbox_state_e state;
204 dynamicbox_visible_state_e visible;
205 struct dynamicbox_common *common;
209 struct callback_table {
210 struct dynamicbox_script_operators dbox_ops;
211 struct dynamicbox_script_operators gbar_ops;
214 dynamicbox_ret_cb cb;
219 dynamicbox_ret_cb cb;
224 dynamicbox_ret_cb cb;
228 struct group_changed {
229 dynamicbox_ret_cb cb;
233 struct period_changed {
234 dynamicbox_ret_cb cb;
238 struct size_changed {
239 dynamicbox_ret_cb cb;
243 struct gbar_created {
244 dynamicbox_ret_cb cb;
248 struct gbar_destroyed {
249 dynamicbox_ret_cb cb;
254 dynamicbox_ret_cb cb;
258 struct access_event {
259 dynamicbox_ret_cb cb;
264 dynamicbox_ret_cb cb;