2 * Copyright (c) 2014 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (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://www.apache.org/licenses/LICENSE-2.0
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.
24 struct engine_bar_item;
25 struct engine_ubar_item;
26 struct engine_dbar_item;
27 struct engine_dbar_item_content;
29 enum engine_dbar_item_style {
30 ENGINE_DBAR_ITEM_STYLE_CONTENT,
31 ENGINE_DBAR_ITEM_STYLE_LABEL,
32 ENGINE_DBAR_ITEM_STYLE_ALBUM,
33 ENGINE_DBAR_ITEM_STYLE_MAX
36 enum engine_dbar_content_type {
37 ENGINE_DBAR_CONTENT_TYPE_IMAGE,
38 ENGINE_DBAR_CONTENT_TYPE_VIDEO,
39 ENGINE_DBAR_CONTENT_TYPE_MUSIC,
40 ENGINE_DBAR_CONTENT_TYPE_BROADCAST,
41 ENGINE_DBAR_CONTENT_TYPE_APP,
42 ENGINE_DBAR_CONTENT_TYPE_SOURCE,
43 ENGINE_DBAR_CONTENT_TYPE_NOTIFICATION_NOTI,
44 ENGINE_DBAR_CONTENT_TYPE_NOTIFICATION_ONGOING,
45 ENGINE_DBAR_CONTENT_TYPE_HISTORY,
46 ENGINE_DBAR_CONTENT_TYPE_MAX
50 struct engine *engine_init(void);
51 void engine_fini(struct engine *eng);
52 int engine_get_user_info(struct engine *eng, const char **name,
53 const char **thumb_bg, const char **thumb);
55 const Eina_List *engine_get_bar_items(struct engine *eng);
56 const Eina_List *engine_get_ubar_items(struct engine *eng);
57 const Eina_List *engine_get_dbar_items(struct engine_bar_item *it);
60 const char *engine_bar_item_get_name(struct engine_bar_item *it);
61 const char *engine_bar_item_get_icon(struct engine_bar_item *it);
62 const char *engine_bar_item_get_icon_focus(struct engine_bar_item *it);
63 const char *engine_bar_item_get_dbus_path(struct engine_bar_item *it);
64 const char *engine_bar_item_get_noctnt_title(struct engine_bar_item *it);
65 const char *engine_bar_item_get_noctnt_desc(struct engine_bar_item *it);
66 const char *engine_bar_item_get_in(struct engine_bar_item *it);
67 const char *engine_bar_item_get_svcid(struct engine_bar_item *it);
68 const char *engine_bar_item_get_bus_name(struct engine_bar_item *it);
69 const char *engine_bar_item_get_object_path(struct engine_bar_item *it);
70 int engine_bar_item_get_color(struct engine_bar_item *it,
71 int *r, int *g, int *b);
72 int engine_bar_item_get_content_column(struct engine_bar_item *it,
74 int engine_bar_item_launch(struct engine_bar_item *it);
75 int engine_bar_item_del_pin(struct engine *eng, struct engine_bar_item *it);
76 int engine_bar_item_get_pin_count(void);
77 int engine_bar_item_swap_pin(struct engine *eng, struct engine_bar_item *it1,
78 struct engine_bar_item *it2);
79 Eina_Bool engine_bar_item_get_is_pinned(struct engine_bar_item *it);
80 void engine_bar_item_set_update_cb(struct engine_bar_item *it,
81 void (*update_cb)(struct engine_bar_item *it, void *data),
83 void engine_bar_item_set_pin_update_cb(struct engine *eng,
84 void (*update_cb)(void *data, bool focus),
88 int engine_ubar_item_get_info(struct engine_ubar_item *it, const char **name,
89 const char **thumb_bg, const char **thumb, int *age);
90 bool engine_ubar_item_is_password(struct engine_ubar_item *it,
91 const char *password);
92 bool engine_ubar_item_delete(struct engine *eng, struct engine_ubar_item *it,
93 const char *password);
94 bool engine_ubar_item_add(struct engine *eng, const char *name,
95 const char *password, const char *icon);
96 bool engine_ubar_item_update(struct engine *eng, struct engine_ubar_item *it,
97 const char *icon, const char *password);
98 bool engine_ubar_item_change_user(struct engine *eng,
99 struct engine_ubar_item *it, const char *password);
100 bool engine_ubar_item_get_privilege(struct engine *eng);
104 enum engine_dbar_item_style engine_dbar_item_get_style(
105 struct engine_dbar_item *it);
106 enum engine_dbar_content_type engine_dbar_item_get_content_type(
107 struct engine_dbar_item_content *ctnt);
108 const Eina_List *engine_dbar_item_get_contents(struct engine_dbar_item *it);
109 const char *engine_dbar_item_get_name(struct engine_dbar_item *it);
110 const char *engine_dbar_item_get_in(struct engine_dbar_item *it);
111 const char *engine_dbar_item_get_content_subtitle(
112 struct engine_dbar_item_content *ctnt);
113 const char *engine_dbar_item_get_content_description(
114 struct engine_dbar_item_content *ctnt);
115 const char *engine_dbar_item_get_content_detail(
116 struct engine_dbar_item_content *ctnt);
117 const char *engine_dbar_item_get_content_thumbnail(
118 struct engine_dbar_item_content *ctnt);
119 const char *engine_dbar_item_get_content_icon(
120 struct engine_dbar_item_content *ctnt);
121 int engine_dbar_item_get_color(struct engine_dbar_item *it,
122 int *r, int *g, int *b);
123 int engine_dbar_item_launch(struct engine_dbar_item *it);
124 int engine_dbar_item_del(struct engine_dbar_item *it,
125 enum engine_dbar_content_type type);
126 int engine_dbar_item_del_all(enum engine_dbar_content_type type);
128 #endif /* __ErGINE_H__ */