0009_input: add tap gesture's test cases
[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_GESTURE_TAP,
83    E_TC_EVENT_TYPE_MAX
84 } E_TC_Event_Type;
85
86 typedef enum _E_TC_Win_Color
87 {
88    E_TC_WIN_COLOR_BLACK = 0,
89    E_TC_WIN_COLOR_WHITE,
90    E_TC_WIN_COLOR_RED,
91    E_TC_WIN_COLOR_GREEN,
92    E_TC_WIN_COLOR_BLUE,
93    E_TC_WIN_COLOR_YELLOW,
94    E_TC_WIN_COLOR_CYAN,
95    E_TC_WIN_COLOR_PURPLE,
96 } E_TC_Win_Color;
97
98 /* NB: These types are originally defined in the enlightenment.
99  *     But, we can't use original types in the header files of enlightenment,
100  *     because e_test_data needs to use tizen-extension-client-protocol that
101  *     conflicts with tizen-extension-server-protocol enlightenment header had.
102  *
103  * Duplicated enum types: E_Layer, E_Visibility
104  */
105 typedef enum _E_Layer
106 {
107    E_LAYER_BOTTOM = -100,
108    E_LAYER_BG = -1, // zone bg stuff
109    E_LAYER_DESKTOP = 0, // desktop objects: fileman, gadgets, shelves
110    E_LAYER_DESKTOP_TOP = 10, // raised desktop objects: gadgets
111    E_LAYER_CLIENT_DESKTOP = 100, //shelves
112    E_LAYER_CLIENT_BELOW = 150,
113    E_LAYER_CLIENT_NORMAL = 200,
114    E_LAYER_CLIENT_ABOVE = 250,
115    E_LAYER_CLIENT_EDGE = 300,
116    E_LAYER_CLIENT_FULLSCREEN = 350,
117    E_LAYER_CLIENT_EDGE_FULLSCREEN = 400,
118    E_LAYER_CLIENT_POPUP = 450,
119    E_LAYER_CLIENT_TOP = 500,
120    E_LAYER_CLIENT_DRAG = 550,
121    E_LAYER_CLIENT_PRIO = 600,
122    E_LAYER_CLIENT_NOTIFICATION_LOW = 650,
123    E_LAYER_CLIENT_NOTIFICATION_NORMAL = 700,
124    E_LAYER_CLIENT_NOTIFICATION_HIGH = 750,
125    E_LAYER_CLIENT_NOTIFICATION_TOP = 800,
126    E_LAYER_CLIENT_ALERT_LOW = 850,
127    E_LAYER_CLIENT_ALERT = 900,
128    E_LAYER_CLIENT_ALERT_HIGH = 950,
129    E_LAYER_CLIENT_CURSOR = 990,
130    E_LAYER_POPUP = 999, // popups
131    E_LAYER_EFFECT = 1999,
132    E_LAYER_MENU = 5000, // menus
133    E_LAYER_DESKLOCK = 9999, // desklock
134    E_LAYER_MAX = 32767 // EVAS_LAYER_MAX
135 } E_Layer;
136
137 typedef enum _E_Visibility
138 {
139    E_VISIBILITY_UNKNOWN = -1,
140    E_VISIBILITY_UNOBSCURED = 0,
141    E_VISIBILITY_PARTIALLY_OBSCURED = 1,
142    E_VISIBILITY_FULLY_OBSCURED = 2,
143    E_VISIBILITY_PRE_UNOBSCURED = 3,
144 } E_Visibility;
145
146 typedef enum _E_TC_EVAS_SMART_CB_STATE
147 {
148    E_TC_EVAS_SMART_CB_STATE_NONE = 0,
149    E_TC_EVAS_SMART_CB_STATE_EFFECT_STARTED  = (1 << 0),  // Server -> Client [PID:xxx] tizen_effect@19.start(wl_surface@41, 1)
150    E_TC_EVAS_SMART_CB_STATE_EFFECT_DONE     = (1 << 1),  // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 1)
151    E_TC_EVAS_SMART_CB_STATE_LAUNCH_DONE     = (1 << 2)   // Server -> Client [PID:xxx] tizen_effect@19.end(wl_surface@41, 4)
152 } E_TC_EFFECT_STATE;
153
154 typedef enum _E_TC_Window_Effect_type
155 {
156    E_TC_EFFECT_NONE = 0,
157    E_TC_EFFECT_SHOW,
158    E_TC_EFFECT_HIDE,
159    E_TC_EFFECT_RESTACK_SHOW,
160    E_TC_EFFECT_RESTACK_HIDE,
161    E_TC_EFFECT_LAUNCH_DONE,
162    E_TC_EFFECT_BG,
163 } E_TC_Window_Effect_type;
164
165 typedef struct _Window_Info_List
166 {
167    Eina_List *list;
168    Eina_Bool  retry;
169 } Window_Info_List;
170
171 # define EFL_UTIL_RETURN_TO_STRING(type)                                                \
172        ((type == EFL_UTIL_ERROR_NONE)?"None":                                           \
173         (type == EFL_UTIL_ERROR_INVALID_PARAMETER)?"Invalid parameter":                 \
174         (type == EFL_UTIL_ERROR_OUT_OF_MEMORY)?"Out of memory":                         \
175         (type == EFL_UTIL_ERROR_PERMISSION_DENIED)?"Permission denied":                 \
176         (type == EFL_UTIL_ERROR_NO_SUCH_DEVICE)?"No such device":                       \
177         (type == EFL_UTIL_ERROR_INVALID_OPERATION)?"Invalid operation":                 \
178         (type == EFL_UTIL_ERROR_NOT_SUPPORTED)?"Not supported":                         \
179         (type == EFL_UTIL_ERROR_NOT_SUPPORTED_WINDOW_TYPE)?"Not supported window type": \
180         (type == EFL_UTIL_ERROR_SCREENSHOT_INIT_FAIL)?"Screenshot init fail":           \
181         (type == EFL_UTIL_ERROR_SCREENSHOT_EXECUTION_FAIL)?"Screenshot execution fail": \
182         (type == EFL_UTIL_ERROR_NO_RESOURCE_AVAILABLE)?"No resource available":         \
183         "Unknown")                                                                      \
184
185 #endif // end of E_TC_MAIN_H
186
187 #ifdef __cplusplus
188 }
189 #endif