a922ce3588ee780801ff182aeeb45c498cdf05d6
[platform/core/uifw/e-tizen-testcase.git] / src / e_test_util.h
1 #ifdef __cplusplus
2 extern "C" {
3 #endif
4
5 #ifndef E_TC_MAIN_H
6 #define E_TC_MAIN_H
7
8 #include "config.h"
9 #include "eina_list_ext.h"
10 #include <Eldbus.h>
11 #include <Elementary.h>
12 #include <wayland-client.h>
13 #include <tizen-extension-client-protocol.h>
14 #include <tizen-launch-client-protocol.h>
15
16 #ifdef ERR
17 # undef ERR
18 #endif
19 #define ERR(...) EINA_LOG_DOM_ERR(etRunner::get().getLogDomain(), __VA_ARGS__)
20
21 #ifdef DBG
22 # undef DBG
23 #endif
24 #define DBG(...) EINA_LOG_DOM_DBG(etRunner::get().getLogDomain(), __VA_ARGS__)
25
26 #ifdef INF
27 # undef INF
28 #endif
29 #define INF(...) EINA_LOG_DOM_INFO(etRunner::get().getLogDomain(), __VA_ARGS__)
30
31 #ifdef WRN
32 # undef WRN
33 #endif
34 #define WRN(...) EINA_LOG_DOM_WARN(etRunner::get().getLogDomain(), __VA_ARGS__)
35
36 #ifdef CRI
37 # undef CRI
38 #endif
39 #define CRI(...) EINA_LOG_DOM_CRIT(etRunner::get().getLogDomain(), __VA_ARGS__)
40
41 #ifdef E_NEW
42 # undef E_NEW
43 #endif
44 # define E_NEW(s, n) (s *)calloc(n, sizeof(s))
45
46 #ifdef E_FREE
47 # undef E_FREE
48 #endif
49 # define E_FREE(p) do { free(p); p = NULL; } while (0)
50
51 #ifdef E_FREE_LIST
52 # undef E_FREE_LIST
53 #endif
54 # define E_FREE_LIST(list, free)   \
55   do                               \
56     {                              \
57        void *_tmp_;                \
58        EINA_LIST_FREE(list, _tmp_) \
59          {                         \
60             free(_tmp_);           \
61          }                         \
62     }                              \
63   while (0)
64
65 typedef enum _E_TC_Event_Type
66 {
67    E_TC_EVENT_TYPE_NONE = 0,
68    E_TC_EVENT_TYPE_TIMEOUT,
69    E_TC_EVENT_TYPE_VIS_ON,
70    E_TC_EVENT_TYPE_VIS_OFF,
71    E_TC_EVENT_TYPE_VIS_CHANGED,
72    E_TC_EVENT_TYPE_STACK_RAISE,
73    E_TC_EVENT_TYPE_STACK_LOWER,
74    E_TC_EVENT_TYPE_STACK_ABOVE,
75    E_TC_EVENT_TYPE_STACK_BELOW,
76    E_TC_EVENT_TYPE_WINDOW_ROTATION_CHANGE,
77    E_TC_EVENT_TYPE_FOCUS_CHANGED,
78    E_TC_EVENT_TYPE_INPUT_ECORE_KEY,
79    E_TC_EVENT_TYPE_INPUT_EVAS_KEY,
80    E_TC_EVENT_TYPE_EFFECT_EVAS_CB,
81    E_TC_EVENT_TYPE_EFFECT,
82    E_TC_EVENT_TYPE_MAX
83 } E_TC_Event_Type;
84
85 typedef enum _E_TC_Win_Color
86 {
87    E_TC_WIN_COLOR_BLACK = 0,
88    E_TC_WIN_COLOR_WHITE,
89    E_TC_WIN_COLOR_RED,
90    E_TC_WIN_COLOR_GREEN,
91    E_TC_WIN_COLOR_BLUE,
92    E_TC_WIN_COLOR_YELLOW,
93    E_TC_WIN_COLOR_CYAN,
94    E_TC_WIN_COLOR_PURPLE,
95 } E_TC_Win_Color;
96
97 /* NB: These types are originally defined in the enlightenment.
98  *     But, we can't use original types in the header files of enlightenment,
99  *     because e_test_data needs to use tizen-extension-client-protocol that
100  *     conflicts with tizen-extension-server-protocol enlightenment header had.
101  *
102  * Duplicated enum types: E_Layer, E_Visibility
103  */
104 typedef enum _E_Layer
105 {
106    E_LAYER_BOTTOM = -100,
107    E_LAYER_BG = -1, // zone bg stuff
108    E_LAYER_DESKTOP = 0, // desktop objects: fileman, gadgets, shelves
109    E_LAYER_DESKTOP_TOP = 10, // raised desktop objects: gadgets
110    E_LAYER_CLIENT_DESKTOP = 100, //shelves
111    E_LAYER_CLIENT_BELOW = 150,
112    E_LAYER_CLIENT_NORMAL = 200,
113    E_LAYER_CLIENT_ABOVE = 250,
114    E_LAYER_CLIENT_EDGE = 300,
115    E_LAYER_CLIENT_FULLSCREEN = 350,
116    E_LAYER_CLIENT_EDGE_FULLSCREEN = 400,
117    E_LAYER_CLIENT_POPUP = 450,
118    E_LAYER_CLIENT_TOP = 500,
119    E_LAYER_CLIENT_DRAG = 550,
120    E_LAYER_CLIENT_PRIO = 600,
121    E_LAYER_CLIENT_NOTIFICATION_LOW = 650,
122    E_LAYER_CLIENT_NOTIFICATION_NORMAL = 700,
123    E_LAYER_CLIENT_NOTIFICATION_HIGH = 750,
124    E_LAYER_CLIENT_NOTIFICATION_TOP = 800,
125    E_LAYER_CLIENT_ALERT_LOW = 850,
126    E_LAYER_CLIENT_ALERT = 900,
127    E_LAYER_CLIENT_ALERT_HIGH = 950,
128    E_LAYER_CLIENT_CURSOR = 990,
129    E_LAYER_POPUP = 999, // popups
130    E_LAYER_EFFECT = 1999,
131    E_LAYER_MENU = 5000, // menus
132    E_LAYER_DESKLOCK = 9999, // desklock
133    E_LAYER_MAX = 32767 // EVAS_LAYER_MAX
134 } E_Layer;
135
136 typedef enum _E_Visibility
137 {
138    E_VISIBILITY_UNKNOWN = -1,
139    E_VISIBILITY_UNOBSCURED = 0,
140    E_VISIBILITY_PARTIALLY_OBSCURED = 1,
141    E_VISIBILITY_FULLY_OBSCURED = 2,
142    E_VISIBILITY_PRE_UNOBSCURED = 3,
143 } E_Visibility;
144
145 typedef enum _E_TC_EVAS_SMART_CB_STATE
146 {
147    E_TC_EVAS_SMART_CB_STATE_NONE = 0,
148    E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED  = (1 << 0),  // Server -> Client [PID:xxx] tizen_effect@19.start(wl_surface@41, 1)
149    E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE     = (1 << 1),  // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 1)
150    E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE     = (1 << 2)   // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 4)
151 } E_TC_EFFECT_STATE;
152
153 typedef enum _E_TC_Window_Effect_type
154 {
155    E_TC_EFFECT_NONE = 0,
156    E_TC_EFFECT_SHOW,
157    E_TC_EFFECT_HIDE,
158    E_TC_EFFECT_RESTACK_SHOW,
159    E_TC_EFFECT_RESTACK_HIDE,
160    E_TC_EFFECT_LAUNCH_DONE,
161    E_TC_EFFECT_BG,
162 } E_TC_Window_Effect_type;
163
164 typedef struct _Window_Info_List
165 {
166    Eina_List *list;
167    Eina_Bool  retry;
168 } Window_Info_List;
169
170 #endif // end of E_TC_MAIN_H
171
172 #ifdef __cplusplus
173 }
174 #endif