summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Blumenkrantz <zmike@samsung.com>2019-03-05 17:00:37 -0500
committerCedric BAIL <cedric.bail@free.fr>2019-03-07 14:16:28 -0800
commit594f73348b322d6d30a0b7c9411ca0e3640f1e92 (patch)
tree0512b06b3a86716195e2e2f7ad8762f423d882c5 /src
parentb01c6a09c8d1c009db86a2c2aef7290222522c91 (diff)
elm_systray: remove all legacy usage from eo files
this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8203
Diffstat (limited to 'src')
-rw-r--r--src/Makefile_Elementary.am5
-rw-r--r--src/bin/elementary/test_systray.c2
-rw-r--r--src/lib/elementary/elm_systray.c4
-rw-r--r--src/lib/elementary/elm_systray.eo125
-rw-r--r--src/lib/elementary/elm_systray.h2
-rw-r--r--src/lib/elementary/elm_systray_eo.c250
-rw-r--r--src/lib/elementary/elm_systray_eo.h236
-rw-r--r--src/lib/elementary/elm_systray_eo.legacy.c102
-rw-r--r--src/lib/elementary/elm_systray_eo.legacy.h229
-rw-r--r--src/lib/elementary/meson.build3
10 files changed, 827 insertions, 131 deletions
diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am
index d715e6c..09c91c9 100644
--- a/src/Makefile_Elementary.am
+++ b/src/Makefile_Elementary.am
@@ -180,7 +180,6 @@ elm_private_eolian_files = \
180# Legacy classes - not part of public EO API 180# Legacy classes - not part of public EO API
181elm_legacy_eolian_files = \ 181elm_legacy_eolian_files = \
182 lib/elementary/efl_ui_clock_legacy.eo \ 182 lib/elementary/efl_ui_clock_legacy.eo \
183 lib/elementary/elm_systray.eo \
184 lib/elementary/elm_widget_item_static_focus.eo \ 183 lib/elementary/elm_widget_item_static_focus.eo \
185 lib/elementary/elm_ctxpopup_part.eo \ 184 lib/elementary/elm_ctxpopup_part.eo \
186 lib/elementary/elm_dayselector_part.eo \ 185 lib/elementary/elm_dayselector_part.eo \
@@ -390,6 +389,8 @@ lib/elementary/elm_sys_notify_eo.c \
390lib/elementary/elm_sys_notify_eo.legacy.c \ 389lib/elementary/elm_sys_notify_eo.legacy.c \
391lib/elementary/elm_sys_notify_interface_eo.c \ 390lib/elementary/elm_sys_notify_interface_eo.c \
392lib/elementary/elm_sys_notify_interface_eo.legacy.c \ 391lib/elementary/elm_sys_notify_interface_eo.legacy.c \
392lib/elementary/elm_systray_eo.c \
393lib/elementary/elm_systray_eo.legacy.c \
393$(NULL) 394$(NULL)
394 395
395elm_legacy_eo_headers = \ 396elm_legacy_eo_headers = \
@@ -587,6 +588,8 @@ lib/elementary/elm_sys_notify_eo.h \
587lib/elementary/elm_sys_notify_eo.legacy.h \ 588lib/elementary/elm_sys_notify_eo.legacy.h \
588lib/elementary/elm_sys_notify_interface_eo.h \ 589lib/elementary/elm_sys_notify_interface_eo.h \
589lib/elementary/elm_sys_notify_interface_eo.legacy.h \ 590lib/elementary/elm_sys_notify_interface_eo.legacy.h \
591lib/elementary/elm_systray_eo.h \
592lib/elementary/elm_systray_eo.legacy.h \
590$(NULL) 593$(NULL)
591 594
592 595
diff --git a/src/bin/elementary/test_systray.c b/src/bin/elementary/test_systray.c
index f4ade32..1b159aa 100644
--- a/src/bin/elementary/test_systray.c
+++ b/src/bin/elementary/test_systray.c
@@ -6,7 +6,7 @@
6 6
7// FIXME: systray has no proper legacy API and clearly isn't ready for prime 7// FIXME: systray has no proper legacy API and clearly isn't ready for prime
8// time with EO either. 8// time with EO either.
9#include "elm_systray.eo.h" 9#include "elm_systray_eo.h"
10 10
11#define WIDTH 320 11#define WIDTH 320
12#define HEIGHT 160 12#define HEIGHT 160
diff --git a/src/lib/elementary/elm_systray.c b/src/lib/elementary/elm_systray.c
index 0c6c3f0..a7bff14 100644
--- a/src/lib/elementary/elm_systray.c
+++ b/src/lib/elementary/elm_systray.c
@@ -5,7 +5,7 @@
5#include <Elementary.h> 5#include <Elementary.h>
6 6
7#include "elm_priv.h" 7#include "elm_priv.h"
8#include "elm_systray.eo.h" 8#include "elm_systray_eo.h"
9#include "elm_systray_watcher.h" 9#include "elm_systray_watcher.h"
10 10
11EAPI int ELM_EVENT_SYSTRAY_READY = 0; 11EAPI int ELM_EVENT_SYSTRAY_READY = 0;
@@ -514,4 +514,4 @@ _elm_unneed_systray(void)
514 } 514 }
515} 515}
516 516
517#include "elm_systray.eo.c" 517#include "elm_systray_eo.c"
diff --git a/src/lib/elementary/elm_systray.eo b/src/lib/elementary/elm_systray.eo
deleted file mode 100644
index 076177f..0000000
--- a/src/lib/elementary/elm_systray.eo
+++ /dev/null
@@ -1,125 +0,0 @@
1enum Elm.Systray.Category
2{
3 [[
4 Category of the Status Notifier Item.
5 @since 1.8
6 ]]
7 app_status, [[Indicators of application status]]
8 communications, [[Communications apps]]
9 sys_services, [[System Service apps]]
10 hardware, [[Hardware indicators]]
11 other [[Undefined category]]
12}
13
14enum Elm.Systray.Status
15{
16 [[
17 Application status information.
18 @since 1.8
19 ]]
20 passive, [[Passive (normal)]]
21 active, [[Active]]
22 attention [[Needs Attention]]
23}
24
25class Elm.Systray extends Efl.Object
26{
27 [[Elementary systray class]]
28 legacy_prefix: elm_systray;
29 eo_prefix: elm_obj_systray;
30 data: null;
31 methods {
32 @property id {
33 set {
34 [[Set the id of the Status Notifier Item.]]
35 }
36 get {
37 [[Get the id of the Status Notifier Item.]]
38 }
39 values {
40 id: string @nullable; [[Status notifier item ID]]
41 }
42 }
43 @property category {
44 set {
45 [[Set the category of the Status Notifier Item.]]
46 }
47 get {
48 [[Get the category of the Status Notifier Item.]]
49 }
50 values {
51 cat: Elm.Systray.Category; [[Category]]
52 }
53 }
54 @property icon_theme_path {
55 set {
56 [[Set the path to the theme where the icons can be found. Set this value to "" to use the default path.]]
57 }
58 get {
59 [[Get the path to the icon's theme currently in use.]]
60 }
61 values {
62 icon_theme_path: string @nullable; [[Icon theme path]]
63 }
64 }
65 @property menu {
66 set {
67 [[Set the object path of the D-Bus Menu that is to be show when the Status Notifier Item is activated by the user.]]
68 }
69 get {
70 [[Get the object path of the D-Bus Menu currently in use.]]
71 }
72 values {
73 menu: const(Efl.Object) @nullable; [[Object path for DBus menu]]
74 }
75 }
76 @property att_icon_name {
77 set {
78 [[Set the name of the attention icon to be used by the Status Notifier Item.]]
79 }
80 get {
81 [[Get the name of the attention icon used by the Status Notifier Item.]]
82 }
83 values {
84 att_icon_name: string @nullable; [[Attention icon name]]
85 }
86 }
87 @property status {
88 set {
89 [[Set the status of the Status Notifier Item.]]
90 }
91 get {
92 [[Get the status of the Status Notifier Item.]]
93 }
94 values {
95 st: Elm.Systray.Status; [[Status]]
96 }
97 }
98 @property icon_name {
99 set {
100 [[Set the name of the icon to be used by the Status Notifier Item.]]
101 }
102 get {
103 [[Get the name of the icon used by the Status Notifier Item.]]
104 }
105 values {
106 icon_name: string @nullable; [[Status icon name]]
107 }
108 }
109 @property title {
110 set {
111 [[Set the title of the Status Notifier Item.]]
112 }
113 get {
114 [[Get the title of the Status Notifier Item.]]
115 }
116 values {
117 title: string @nullable; [[Title]]
118 }
119 }
120 register {
121 [[Register this Status Notifier Item in the System Tray Watcher. This function should only be called after the event #ELM_EVENT_SYSTRAY_READY is emitted.]]
122 return: bool; [[$true on success, $false otherwise]]
123 }
124 }
125}
diff --git a/src/lib/elementary/elm_systray.h b/src/lib/elementary/elm_systray.h
index 0e1953b..b41ce8c 100644
--- a/src/lib/elementary/elm_systray.h
+++ b/src/lib/elementary/elm_systray.h
@@ -2,6 +2,6 @@
2 2
3#ifdef EFL_BETA_API_SUPPORT 3#ifdef EFL_BETA_API_SUPPORT
4# ifndef EFL_NOLEGACY_API_SUPPORT 4# ifndef EFL_NOLEGACY_API_SUPPORT
5# include "elm_systray.eo.legacy.h" 5# include "elm_systray_eo.legacy.h"
6# endif 6# endif
7#endif 7#endif
diff --git a/src/lib/elementary/elm_systray_eo.c b/src/lib/elementary/elm_systray_eo.c
new file mode 100644
index 0000000..0207773
--- /dev/null
+++ b/src/lib/elementary/elm_systray_eo.c
@@ -0,0 +1,250 @@
1
2void _elm_systray_id_set(Eo *obj, void *pd, const char *id);
3
4
5static Eina_Error
6__eolian_elm_systray_id_set_reflect(Eo *obj, Eina_Value val)
7{
8 Eina_Error r = 0; const char *cval;
9 if (!eina_value_string_convert(&val, &cval))
10 {
11 r = EINA_ERROR_VALUE_FAILED;
12 goto end;
13 }
14 elm_obj_systray_id_set(obj, cval);
15 end:
16 eina_value_flush(&val);
17 return r;
18}
19
20EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_id_set, EFL_FUNC_CALL(id), const char *id);
21
22const char *_elm_systray_id_get(const Eo *obj, void *pd);
23
24
25static Eina_Value
26__eolian_elm_systray_id_get_reflect(Eo *obj)
27{
28 const char *val = elm_obj_systray_id_get(obj);
29 return eina_value_string_init(val);
30}
31
32EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_id_get, const char *, NULL);
33
34void _elm_systray_category_set(Eo *obj, void *pd, Elm_Systray_Category cat);
35
36EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_category_set, EFL_FUNC_CALL(cat), Elm_Systray_Category cat);
37
38Elm_Systray_Category _elm_systray_category_get(const Eo *obj, void *pd);
39
40EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_category_get, Elm_Systray_Category, 0);
41
42void _elm_systray_icon_theme_path_set(Eo *obj, void *pd, const char *icon_theme_path);
43
44
45static Eina_Error
46__eolian_elm_systray_icon_theme_path_set_reflect(Eo *obj, Eina_Value val)
47{
48 Eina_Error r = 0; const char *cval;
49 if (!eina_value_string_convert(&val, &cval))
50 {
51 r = EINA_ERROR_VALUE_FAILED;
52 goto end;
53 }
54 elm_obj_systray_icon_theme_path_set(obj, cval);
55 end:
56 eina_value_flush(&val);
57 return r;
58}
59
60EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_icon_theme_path_set, EFL_FUNC_CALL(icon_theme_path), const char *icon_theme_path);
61
62const char *_elm_systray_icon_theme_path_get(const Eo *obj, void *pd);
63
64
65static Eina_Value
66__eolian_elm_systray_icon_theme_path_get_reflect(Eo *obj)
67{
68 const char *val = elm_obj_systray_icon_theme_path_get(obj);
69 return eina_value_string_init(val);
70}
71
72EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_icon_theme_path_get, const char *, NULL);
73
74void _elm_systray_menu_set(Eo *obj, void *pd, const Efl_Object *menu);
75
76EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_menu_set, EFL_FUNC_CALL(menu), const Efl_Object *menu);
77
78const Efl_Object *_elm_systray_menu_get(const Eo *obj, void *pd);
79
80EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_menu_get, const Efl_Object *, NULL);
81
82void _elm_systray_att_icon_name_set(Eo *obj, void *pd, const char *att_icon_name);
83
84
85static Eina_Error
86__eolian_elm_systray_att_icon_name_set_reflect(Eo *obj, Eina_Value val)
87{
88 Eina_Error r = 0; const char *cval;
89 if (!eina_value_string_convert(&val, &cval))
90 {
91 r = EINA_ERROR_VALUE_FAILED;
92 goto end;
93 }
94 elm_obj_systray_att_icon_name_set(obj, cval);
95 end:
96 eina_value_flush(&val);
97 return r;
98}
99
100EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_att_icon_name_set, EFL_FUNC_CALL(att_icon_name), const char *att_icon_name);
101
102const char *_elm_systray_att_icon_name_get(const Eo *obj, void *pd);
103
104
105static Eina_Value
106__eolian_elm_systray_att_icon_name_get_reflect(Eo *obj)
107{
108 const char *val = elm_obj_systray_att_icon_name_get(obj);
109 return eina_value_string_init(val);
110}
111
112EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_att_icon_name_get, const char *, NULL);
113
114void _elm_systray_status_set(Eo *obj, void *pd, Elm_Systray_Status st);
115
116EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_status_set, EFL_FUNC_CALL(st), Elm_Systray_Status st);
117
118Elm_Systray_Status _elm_systray_status_get(const Eo *obj, void *pd);
119
120EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_status_get, Elm_Systray_Status, 0);
121
122void _elm_systray_icon_name_set(Eo *obj, void *pd, const char *icon_name);
123
124
125static Eina_Error
126__eolian_elm_systray_icon_name_set_reflect(Eo *obj, Eina_Value val)
127{
128 Eina_Error r = 0; const char *cval;
129 if (!eina_value_string_convert(&val, &cval))
130 {
131 r = EINA_ERROR_VALUE_FAILED;
132 goto end;
133 }
134 elm_obj_systray_icon_name_set(obj, cval);
135 end:
136 eina_value_flush(&val);
137 return r;
138}
139
140EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_icon_name_set, EFL_FUNC_CALL(icon_name), const char *icon_name);
141
142const char *_elm_systray_icon_name_get(const Eo *obj, void *pd);
143
144
145static Eina_Value
146__eolian_elm_systray_icon_name_get_reflect(Eo *obj)
147{
148 const char *val = elm_obj_systray_icon_name_get(obj);
149 return eina_value_string_init(val);
150}
151
152EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_icon_name_get, const char *, NULL);
153
154void _elm_systray_title_set(Eo *obj, void *pd, const char *title);
155
156
157static Eina_Error
158__eolian_elm_systray_title_set_reflect(Eo *obj, Eina_Value val)
159{
160 Eina_Error r = 0; const char *cval;
161 if (!eina_value_string_convert(&val, &cval))
162 {
163 r = EINA_ERROR_VALUE_FAILED;
164 goto end;
165 }
166 elm_obj_systray_title_set(obj, cval);
167 end:
168 eina_value_flush(&val);
169 return r;
170}
171
172EOAPI EFL_VOID_FUNC_BODYV(elm_obj_systray_title_set, EFL_FUNC_CALL(title), const char *title);
173
174const char *_elm_systray_title_get(const Eo *obj, void *pd);
175
176
177static Eina_Value
178__eolian_elm_systray_title_get_reflect(Eo *obj)
179{
180 const char *val = elm_obj_systray_title_get(obj);
181 return eina_value_string_init(val);
182}
183
184EOAPI EFL_FUNC_BODY_CONST(elm_obj_systray_title_get, const char *, NULL);
185
186Eina_Bool _elm_systray_register(Eo *obj, void *pd);
187
188EOAPI EFL_FUNC_BODY(elm_obj_systray_register, Eina_Bool, 0);
189
190static Eina_Bool
191_elm_systray_class_initializer(Efl_Class *klass)
192{
193 const Efl_Object_Ops *opsp = NULL;
194
195 const Efl_Object_Property_Reflection_Ops *ropsp = NULL;
196
197#ifndef ELM_SYSTRAY_EXTRA_OPS
198#define ELM_SYSTRAY_EXTRA_OPS
199#endif
200
201 EFL_OPS_DEFINE(ops,
202 EFL_OBJECT_OP_FUNC(elm_obj_systray_id_set, _elm_systray_id_set),
203 EFL_OBJECT_OP_FUNC(elm_obj_systray_id_get, _elm_systray_id_get),
204 EFL_OBJECT_OP_FUNC(elm_obj_systray_category_set, _elm_systray_category_set),
205 EFL_OBJECT_OP_FUNC(elm_obj_systray_category_get, _elm_systray_category_get),
206 EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_theme_path_set, _elm_systray_icon_theme_path_set),
207 EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_theme_path_get, _elm_systray_icon_theme_path_get),
208 EFL_OBJECT_OP_FUNC(elm_obj_systray_menu_set, _elm_systray_menu_set),
209 EFL_OBJECT_OP_FUNC(elm_obj_systray_menu_get, _elm_systray_menu_get),
210 EFL_OBJECT_OP_FUNC(elm_obj_systray_att_icon_name_set, _elm_systray_att_icon_name_set),
211 EFL_OBJECT_OP_FUNC(elm_obj_systray_att_icon_name_get, _elm_systray_att_icon_name_get),
212 EFL_OBJECT_OP_FUNC(elm_obj_systray_status_set, _elm_systray_status_set),
213 EFL_OBJECT_OP_FUNC(elm_obj_systray_status_get, _elm_systray_status_get),
214 EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_name_set, _elm_systray_icon_name_set),
215 EFL_OBJECT_OP_FUNC(elm_obj_systray_icon_name_get, _elm_systray_icon_name_get),
216 EFL_OBJECT_OP_FUNC(elm_obj_systray_title_set, _elm_systray_title_set),
217 EFL_OBJECT_OP_FUNC(elm_obj_systray_title_get, _elm_systray_title_get),
218 EFL_OBJECT_OP_FUNC(elm_obj_systray_register, _elm_systray_register),
219 ELM_SYSTRAY_EXTRA_OPS
220 );
221 opsp = &ops;
222
223 static const Efl_Object_Property_Reflection refl_table[] = {
224 {"id", __eolian_elm_systray_id_set_reflect, __eolian_elm_systray_id_get_reflect},
225 {"icon_theme_path", __eolian_elm_systray_icon_theme_path_set_reflect, __eolian_elm_systray_icon_theme_path_get_reflect},
226 {"att_icon_name", __eolian_elm_systray_att_icon_name_set_reflect, __eolian_elm_systray_att_icon_name_get_reflect},
227 {"icon_name", __eolian_elm_systray_icon_name_set_reflect, __eolian_elm_systray_icon_name_get_reflect},
228 {"title", __eolian_elm_systray_title_set_reflect, __eolian_elm_systray_title_get_reflect},
229 };
230 static const Efl_Object_Property_Reflection_Ops rops = {
231 refl_table, EINA_C_ARRAY_LENGTH(refl_table)
232 };
233 ropsp = &rops;
234
235 return efl_class_functions_set(klass, opsp, ropsp);
236}
237
238static const Efl_Class_Description _elm_systray_class_desc = {
239 EO_VERSION,
240 "Elm.Systray",
241 EFL_CLASS_TYPE_REGULAR,
242 0,
243 _elm_systray_class_initializer,
244 NULL,
245 NULL
246};
247
248EFL_DEFINE_CLASS(elm_systray_class_get, &_elm_systray_class_desc, EFL_OBJECT_CLASS, NULL);
249
250#include "elm_systray_eo.legacy.c"
diff --git a/src/lib/elementary/elm_systray_eo.h b/src/lib/elementary/elm_systray_eo.h
new file mode 100644
index 0000000..d50dc41
--- /dev/null
+++ b/src/lib/elementary/elm_systray_eo.h
@@ -0,0 +1,236 @@
1#ifndef _ELM_SYSTRAY_EO_H_
2#define _ELM_SYSTRAY_EO_H_
3
4#ifndef _ELM_SYSTRAY_EO_CLASS_TYPE
5#define _ELM_SYSTRAY_EO_CLASS_TYPE
6
7typedef Eo Elm_Systray;
8
9#endif
10
11#ifndef _ELM_SYSTRAY_EO_TYPES
12#define _ELM_SYSTRAY_EO_TYPES
13
14/** Category of the Status Notifier Item.
15 *
16 * @since 1.8
17 *
18 * @ingroup Elm_Systray
19 */
20typedef enum
21{
22 ELM_SYSTRAY_CATEGORY_APP_STATUS = 0, /**< Indicators of application status */
23 ELM_SYSTRAY_CATEGORY_COMMUNICATIONS, /**< Communications apps */
24 ELM_SYSTRAY_CATEGORY_SYS_SERVICES, /**< System Service apps */
25 ELM_SYSTRAY_CATEGORY_HARDWARE, /**< Hardware indicators */
26 ELM_SYSTRAY_CATEGORY_OTHER /**< Undefined category */
27} Elm_Systray_Category;
28
29/** Application status information.
30 *
31 * @since 1.8
32 *
33 * @ingroup Elm_Systray
34 */
35typedef enum
36{
37 ELM_SYSTRAY_STATUS_PASSIVE = 0, /**< Passive (normal) */
38 ELM_SYSTRAY_STATUS_ACTIVE, /**< Active */
39 ELM_SYSTRAY_STATUS_ATTENTION /**< Needs Attention */
40} Elm_Systray_Status;
41
42
43#endif
44/** Elementary systray class
45 *
46 * @ingroup Elm_Systray
47 */
48#define ELM_SYSTRAY_CLASS elm_systray_class_get()
49
50EWAPI const Efl_Class *elm_systray_class_get(void);
51
52/**
53 * @brief Set the id of the Status Notifier Item.
54 *
55 * @param[in] obj The object.
56 * @param[in] id Status notifier item ID
57 *
58 * @ingroup Elm_Systray
59 */
60EOAPI void elm_obj_systray_id_set(Eo *obj, const char *id);
61
62/**
63 * @brief Get the id of the Status Notifier Item.
64 *
65 * @param[in] obj The object.
66 *
67 * @return Status notifier item ID
68 *
69 * @ingroup Elm_Systray
70 */
71EOAPI const char *elm_obj_systray_id_get(const Eo *obj);
72
73/**
74 * @brief Set the category of the Status Notifier Item.
75 *
76 * @param[in] obj The object.
77 * @param[in] cat Category
78 *
79 * @ingroup Elm_Systray
80 */
81EOAPI void elm_obj_systray_category_set(Eo *obj, Elm_Systray_Category cat);
82
83/**
84 * @brief Get the category of the Status Notifier Item.
85 *
86 * @param[in] obj The object.
87 *
88 * @return Category
89 *
90 * @ingroup Elm_Systray
91 */
92EOAPI Elm_Systray_Category elm_obj_systray_category_get(const Eo *obj);
93
94/**
95 * @brief Set the path to the theme where the icons can be found. Set this
96 * value to "" to use the default path.
97 *
98 * @param[in] obj The object.
99 * @param[in] icon_theme_path Icon theme path
100 *
101 * @ingroup Elm_Systray
102 */
103EOAPI void elm_obj_systray_icon_theme_path_set(Eo *obj, const char *icon_theme_path);
104
105/**
106 * @brief Get the path to the icon's theme currently in use.
107 *
108 * @param[in] obj The object.
109 *
110 * @return Icon theme path
111 *
112 * @ingroup Elm_Systray
113 */
114EOAPI const char *elm_obj_systray_icon_theme_path_get(const Eo *obj);
115
116/**
117 * @brief Set the object path of the D-Bus Menu that is to be show when the
118 * Status Notifier Item is activated by the user.
119 *
120 * @param[in] obj The object.
121 * @param[in] menu Object path for DBus menu
122 *
123 * @ingroup Elm_Systray
124 */
125EOAPI void elm_obj_systray_menu_set(Eo *obj, const Efl_Object *menu);
126
127/**
128 * @brief Get the object path of the D-Bus Menu currently in use.
129 *
130 * @param[in] obj The object.
131 *
132 * @return Object path for DBus menu
133 *
134 * @ingroup Elm_Systray
135 */
136EOAPI const Efl_Object *elm_obj_systray_menu_get(const Eo *obj);
137
138/**
139 * @brief Set the name of the attention icon to be used by the Status Notifier
140 * Item.
141 *
142 * @param[in] obj The object.
143 * @param[in] att_icon_name Attention icon name
144 *
145 * @ingroup Elm_Systray
146 */
147EOAPI void elm_obj_systray_att_icon_name_set(Eo *obj, const char *att_icon_name);
148
149/**
150 * @brief Get the name of the attention icon used by the Status Notifier Item.
151 *
152 * @param[in] obj The object.
153 *
154 * @return Attention icon name
155 *
156 * @ingroup Elm_Systray
157 */
158EOAPI const char *elm_obj_systray_att_icon_name_get(const Eo *obj);
159
160/**
161 * @brief Set the status of the Status Notifier Item.
162 *
163 * @param[in] obj The object.
164 * @param[in] st Status
165 *
166 * @ingroup Elm_Systray
167 */
168EOAPI void elm_obj_systray_status_set(Eo *obj, Elm_Systray_Status st);
169
170/**
171 * @brief Get the status of the Status Notifier Item.
172 *
173 * @param[in] obj The object.
174 *
175 * @return Status
176 *
177 * @ingroup Elm_Systray
178 */
179EOAPI Elm_Systray_Status elm_obj_systray_status_get(const Eo *obj);
180
181/**
182 * @brief Set the name of the icon to be used by the Status Notifier Item.
183 *
184 * @param[in] obj The object.
185 * @param[in] icon_name Status icon name
186 *
187 * @ingroup Elm_Systray
188 */
189EOAPI void elm_obj_systray_icon_name_set(Eo *obj, const char *icon_name);
190
191/**
192 * @brief Get the name of the icon used by the Status Notifier Item.
193 *
194 * @param[in] obj The object.
195 *
196 * @return Status icon name
197 *
198 * @ingroup Elm_Systray
199 */
200EOAPI const char *elm_obj_systray_icon_name_get(const Eo *obj);
201
202/**
203 * @brief Set the title of the Status Notifier Item.
204 *
205 * @param[in] obj The object.
206 * @param[in] title Title
207 *
208 * @ingroup Elm_Systray
209 */
210EOAPI void elm_obj_systray_title_set(Eo *obj, const char *title);
211
212/**
213 * @brief Get the title of the Status Notifier Item.
214 *
215 * @param[in] obj The object.
216 *
217 * @return Title
218 *
219 * @ingroup Elm_Systray
220 */
221EOAPI const char *elm_obj_systray_title_get(const Eo *obj);
222
223/**
224 * @brief Register this Status Notifier Item in the System Tray Watcher. This
225 * function should only be called after the event #ELM_EVENT_SYSTRAY_READY is
226 * emitted.
227 *
228 * @param[in] obj The object.
229 *
230 * @return @c true on success, @c false otherwise
231 *
232 * @ingroup Elm_Systray
233 */
234EOAPI Eina_Bool elm_obj_systray_register(Eo *obj);
235
236#endif
diff --git a/src/lib/elementary/elm_systray_eo.legacy.c b/src/lib/elementary/elm_systray_eo.legacy.c
new file mode 100644
index 0000000..d898bbd
--- /dev/null
+++ b/src/lib/elementary/elm_systray_eo.legacy.c
@@ -0,0 +1,102 @@
1
2EAPI void
3elm_systray_id_set(Elm_Systray *obj, const char *id)
4{
5 elm_obj_systray_id_set(obj, id);
6}
7
8EAPI const char *
9elm_systray_id_get(const Elm_Systray *obj)
10{
11 return elm_obj_systray_id_get(obj);
12}
13
14EAPI void
15elm_systray_category_set(Elm_Systray *obj, Elm_Systray_Category cat)
16{
17 elm_obj_systray_category_set(obj, cat);
18}
19
20EAPI Elm_Systray_Category
21elm_systray_category_get(const Elm_Systray *obj)
22{
23 return elm_obj_systray_category_get(obj);
24}
25
26EAPI void
27elm_systray_icon_theme_path_set(Elm_Systray *obj, const char *icon_theme_path)
28{
29 elm_obj_systray_icon_theme_path_set(obj, icon_theme_path);
30}
31
32EAPI const char *
33elm_systray_icon_theme_path_get(const Elm_Systray *obj)
34{
35 return elm_obj_systray_icon_theme_path_get(obj);
36}
37
38EAPI void
39elm_systray_menu_set(Elm_Systray *obj, const Efl_Object *menu)
40{
41 elm_obj_systray_menu_set(obj, menu);
42}
43
44EAPI const Efl_Object *
45elm_systray_menu_get(const Elm_Systray *obj)
46{
47 return elm_obj_systray_menu_get(obj);
48}
49
50EAPI void
51elm_systray_att_icon_name_set(Elm_Systray *obj, const char *att_icon_name)
52{
53 elm_obj_systray_att_icon_name_set(obj, att_icon_name);
54}
55
56EAPI const char *
57elm_systray_att_icon_name_get(const Elm_Systray *obj)
58{
59 return elm_obj_systray_att_icon_name_get(obj);
60}
61
62EAPI void
63elm_systray_status_set(Elm_Systray *obj, Elm_Systray_Status st)
64{
65 elm_obj_systray_status_set(obj, st);
66}
67
68EAPI Elm_Systray_Status
69elm_systray_status_get(const Elm_Systray *obj)
70{
71 return elm_obj_systray_status_get(obj);
72}
73
74EAPI void
75elm_systray_icon_name_set(Elm_Systray *obj, const char *icon_name)
76{
77 elm_obj_systray_icon_name_set(obj, icon_name);
78}
79
80EAPI const char *
81elm_systray_icon_name_get(const Elm_Systray *obj)
82{
83 return elm_obj_systray_icon_name_get(obj);
84}
85
86EAPI void
87elm_systray_title_set(Elm_Systray *obj, const char *title)
88{
89 elm_obj_systray_title_set(obj, title);
90}
91
92EAPI const char *
93elm_systray_title_get(const Elm_Systray *obj)
94{
95 return elm_obj_systray_title_get(obj);
96}
97
98EAPI Eina_Bool
99elm_systray_register(Elm_Systray *obj)
100{
101 return elm_obj_systray_register(obj);
102}
diff --git a/src/lib/elementary/elm_systray_eo.legacy.h b/src/lib/elementary/elm_systray_eo.legacy.h
new file mode 100644
index 0000000..485ced5
--- /dev/null
+++ b/src/lib/elementary/elm_systray_eo.legacy.h
@@ -0,0 +1,229 @@
1#ifndef _ELM_SYSTRAY_EO_LEGACY_H_
2#define _ELM_SYSTRAY_EO_LEGACY_H_
3
4#ifndef _ELM_SYSTRAY_EO_CLASS_TYPE
5#define _ELM_SYSTRAY_EO_CLASS_TYPE
6
7typedef Eo Elm_Systray;
8
9#endif
10
11#ifndef _ELM_SYSTRAY_EO_TYPES
12#define _ELM_SYSTRAY_EO_TYPES
13
14/** Category of the Status Notifier Item.
15 *
16 * @since 1.8
17 *
18 * @ingroup Elm_Systray
19 */
20typedef enum
21{
22 ELM_SYSTRAY_CATEGORY_APP_STATUS = 0, /**< Indicators of application status */
23 ELM_SYSTRAY_CATEGORY_COMMUNICATIONS, /**< Communications apps */
24 ELM_SYSTRAY_CATEGORY_SYS_SERVICES, /**< System Service apps */
25 ELM_SYSTRAY_CATEGORY_HARDWARE, /**< Hardware indicators */
26 ELM_SYSTRAY_CATEGORY_OTHER /**< Undefined category */
27} Elm_Systray_Category;
28
29/** Application status information.
30 *
31 * @since 1.8
32 *
33 * @ingroup Elm_Systray
34 */
35typedef enum
36{
37 ELM_SYSTRAY_STATUS_PASSIVE = 0, /**< Passive (normal) */
38 ELM_SYSTRAY_STATUS_ACTIVE, /**< Active */
39 ELM_SYSTRAY_STATUS_ATTENTION /**< Needs Attention */
40} Elm_Systray_Status;
41
42
43#endif
44
45/**
46 * @brief Set the id of the Status Notifier Item.
47 *
48 * @param[in] obj The object.
49 * @param[in] id Status notifier item ID
50 *
51 * @ingroup Elm_Systray_Group
52 */
53EAPI void elm_systray_id_set(Elm_Systray *obj, const char *id);
54
55/**
56 * @brief Get the id of the Status Notifier Item.
57 *
58 * @param[in] obj The object.
59 *
60 * @return Status notifier item ID
61 *
62 * @ingroup Elm_Systray_Group
63 */
64EAPI const char *elm_systray_id_get(const Elm_Systray *obj);
65
66/**
67 * @brief Set the category of the Status Notifier Item.
68 *
69 * @param[in] obj The object.
70 * @param[in] cat Category
71 *
72 * @ingroup Elm_Systray_Group
73 */
74EAPI void elm_systray_category_set(Elm_Systray *obj, Elm_Systray_Category cat);
75
76/**
77 * @brief Get the category of the Status Notifier Item.
78 *
79 * @param[in] obj The object.
80 *
81 * @return Category
82 *
83 * @ingroup Elm_Systray_Group
84 */
85EAPI Elm_Systray_Category elm_systray_category_get(const Elm_Systray *obj);
86
87/**
88 * @brief Set the path to the theme where the icons can be found. Set this
89 * value to "" to use the default path.
90 *
91 * @param[in] obj The object.
92 * @param[in] icon_theme_path Icon theme path
93 *
94 * @ingroup Elm_Systray_Group
95 */
96EAPI void elm_systray_icon_theme_path_set(Elm_Systray *obj, const char *icon_theme_path);
97
98/**
99 * @brief Get the path to the icon's theme currently in use.
100 *
101 * @param[in] obj The object.
102 *
103 * @return Icon theme path
104 *
105 * @ingroup Elm_Systray_Group
106 */
107EAPI const char *elm_systray_icon_theme_path_get(const Elm_Systray *obj);
108
109/**
110 * @brief Set the object path of the D-Bus Menu that is to be show when the
111 * Status Notifier Item is activated by the user.
112 *
113 * @param[in] obj The object.
114 * @param[in] menu Object path for DBus menu
115 *
116 * @ingroup Elm_Systray_Group
117 */
118EAPI void elm_systray_menu_set(Elm_Systray *obj, const Efl_Object *menu);
119
120/**
121 * @brief Get the object path of the D-Bus Menu currently in use.
122 *
123 * @param[in] obj The object.
124 *
125 * @return Object path for DBus menu
126 *
127 * @ingroup Elm_Systray_Group
128 */
129EAPI const Efl_Object *elm_systray_menu_get(const Elm_Systray *obj);
130
131/**
132 * @brief Set the name of the attention icon to be used by the Status Notifier
133 * Item.
134 *
135 * @param[in] obj The object.
136 * @param[in] att_icon_name Attention icon name
137 *
138 * @ingroup Elm_Systray_Group
139 */
140EAPI void elm_systray_att_icon_name_set(Elm_Systray *obj, const char *att_icon_name);
141
142/**
143 * @brief Get the name of the attention icon used by the Status Notifier Item.
144 *
145 * @param[in] obj The object.
146 *
147 * @return Attention icon name
148 *
149 * @ingroup Elm_Systray_Group
150 */
151EAPI const char *elm_systray_att_icon_name_get(const Elm_Systray *obj);
152
153/**
154 * @brief Set the status of the Status Notifier Item.
155 *
156 * @param[in] obj The object.
157 * @param[in] st Status
158 *
159 * @ingroup Elm_Systray_Group
160 */
161EAPI void elm_systray_status_set(Elm_Systray *obj, Elm_Systray_Status st);
162
163/**
164 * @brief Get the status of the Status Notifier Item.
165 *
166 * @param[in] obj The object.
167 *
168 * @return Status
169 *
170 * @ingroup Elm_Systray_Group
171 */
172EAPI Elm_Systray_Status elm_systray_status_get(const Elm_Systray *obj);
173
174/**
175 * @brief Set the name of the icon to be used by the Status Notifier Item.
176 *
177 * @param[in] obj The object.
178 * @param[in] icon_name Status icon name
179 *
180 * @ingroup Elm_Systray_Group
181 */
182EAPI void elm_systray_icon_name_set(Elm_Systray *obj, const char *icon_name);
183
184/**
185 * @brief Get the name of the icon used by the Status Notifier Item.
186 *
187 * @param[in] obj The object.
188 *
189 * @return Status icon name
190 *
191 * @ingroup Elm_Systray_Group
192 */
193EAPI const char *elm_systray_icon_name_get(const Elm_Systray *obj);
194
195/**
196 * @brief Set the title of the Status Notifier Item.
197 *
198 * @param[in] obj The object.
199 * @param[in] title Title
200 *
201 * @ingroup Elm_Systray_Group
202 */
203EAPI void elm_systray_title_set(Elm_Systray *obj, const char *title);
204
205/**
206 * @brief Get the title of the Status Notifier Item.
207 *
208 * @param[in] obj The object.
209 *
210 * @return Title
211 *
212 * @ingroup Elm_Systray_Group
213 */
214EAPI const char *elm_systray_title_get(const Elm_Systray *obj);
215
216/**
217 * @brief Register this Status Notifier Item in the System Tray Watcher. This
218 * function should only be called after the event #ELM_EVENT_SYSTRAY_READY is
219 * emitted.
220 *
221 * @param[in] obj The object.
222 *
223 * @return @c true on success, @c false otherwise
224 *
225 * @ingroup Elm_Systray_Group
226 */
227EAPI Eina_Bool elm_systray_register(Elm_Systray *obj);
228
229#endif
diff --git a/src/lib/elementary/meson.build b/src/lib/elementary/meson.build
index 17d9b65..8fec725 100644
--- a/src/lib/elementary/meson.build
+++ b/src/lib/elementary/meson.build
@@ -1,6 +1,5 @@
1pub_legacy_eo_files = [ 1pub_legacy_eo_files = [
2 'efl_ui_clock_legacy.eo', 2 'efl_ui_clock_legacy.eo',
3 'elm_systray.eo',
4 'elm_widget_item_static_focus.eo', 3 'elm_widget_item_static_focus.eo',
5 'elm_ctxpopup_part.eo', 4 'elm_ctxpopup_part.eo',
6 'elm_dayselector_part.eo', 5 'elm_dayselector_part.eo',
@@ -799,6 +798,8 @@ elementary_pub_headers = [
799 'elm_sys_notify_eo.legacy.h', 798 'elm_sys_notify_eo.legacy.h',
800 'elm_sys_notify_interface_eo.h', 799 'elm_sys_notify_interface_eo.h',
801 'elm_sys_notify_interface_eo.legacy.h', 800 'elm_sys_notify_interface_eo.legacy.h',
801 'elm_systray_eo.h',
802 'elm_systray_eo.legacy.h',
802] 803]
803 804
804elementary_header_src = [ 805elementary_header_src = [