1 #ifndef __ET_EVENT_LOOP_H__
2 #define __ET_EVENT_LOOP_H__
4 #include <gtest/gtest.h>
7 #include "e_test_util.h"
8 #include "e_test_win.h"
16 worker.waitTime = 0.0;
19 tzlaunch_effect = NULL;
20 tzlaunch_splash = NULL;
27 dbus.deviced_proxy = NULL;
28 dbus.deviced_obj = NULL;
38 static etRunner &get() { return inst; }
50 Eldbus_Connection *conn;
51 Eldbus_Proxy *ds_proxy; // display server proxy
52 Eldbus_Object *ds_obj; // display server obj
53 Eldbus_Proxy *deviced_proxy; // deviced proxy
54 Eldbus_Object *deviced_obj; // deviced obj
57 struct tizen_policy *tzPolicy;
58 struct tizen_surface *tzSurface;
59 struct tizen_launch_effect *tzlaunch_effect;
60 struct tizen_launch_splash *tzlaunch_splash;
61 struct wl_output *wlOutput;
63 Eina_List *listWinInfo;
65 public: /* TODO: make it hidden */
69 Ecore_Window native_win;
73 Eina_List *recv_queue;
75 E_TC_Event_Item *wait_event_index;
76 E_TC_Event_Item *last_event;
77 E_TC_Event_Item *last_checkpoint;
81 Eina_Stringshare *name;
82 Eina_Bool ecore_state;
88 unsigned int state_smcb;
104 efl_util_gesture_edge_e edge;
119 void work(double time);
121 void printWinInfoList();
122 void setWaitTime(double time) { worker.waitTime = time; };
125 void addTimer(double time);
126 void waitForDestroy();
128 Eina_Bool registerWin(etWin *tw);
129 Eina_Bool deregisterWin(etWin *tw);
130 Eina_Bool resetRegisterWin();
131 Eina_Bool setWinActivate(etWin *tw);
132 Eina_Bool setWinIconic(etWin *tw, Eina_Bool set);
133 Eina_Bool setWinStack(etWin *tw, etWin *sibiling, Eina_Bool above);
134 Eina_Bool setWinRaise(etWin *tw);
135 Eina_Bool setWinLower(etWin *tw);
136 Eina_Bool setWinTransientFor(etWin *tw_child, etWin *tw_parent, Eina_Bool set);
137 Eina_Bool setWinTransientForBelow(etWin *tw_child, etWin *tw_parent, Eina_Bool set);
138 Eina_Bool setWinNotiLevel(etWin *tw, efl_util_notification_level_e lv);
139 efl_util_notification_level_e getWinNotiLevel(etWin *tw);
140 Eina_Bool setFocusSkip(etWin *tw, Eina_Bool set);
141 Eina_Bool setFocusSkipEcoreWl2(etWin *tw, Eina_Bool set);
142 Eina_Bool setZoneRotation(int angle);
143 Eina_Bool setTCStart();
144 Eina_Bool setTCEnd();
145 Eina_Bool getWinInfo(etWin *tw);
146 Eina_List *getWinInfoList();
147 void freeWinInfoList(Eina_List *list);
148 void freeLastWinInfoList();
149 Eina_Bool hasLastWinInfoList() { return !!listWinInfo; };
150 void setLastWinInfoList(Eina_List *list);
151 Ecore_Window getWinId(Evas_Object *elm_win);
152 struct wl_surface *getWlSurface(Evas_Object *elm_win);
153 Eina_Bool setDpms(Eina_Bool on);
154 Eina_Bool setDevctlDisplayLock(Eina_Bool lock);
155 Eina_Bool setDevctlDisplayOn(Eina_Bool on);
156 Eina_Bool feedMouseDown(int x, int y);
157 Eina_Bool feedMouseMove(int x, int y);
158 Eina_Bool feedMouseUp(int x, int y);
159 Eina_Bool feedKeyDown(const char *key);
160 Eina_Bool feedKeyUp(const char *key);
161 Eina_Bool generateMouseDown(int x, int y);
162 Eina_Bool generateMouseMove(int x, int y);
163 Eina_Bool generateMouseUp(int x, int y);
164 Eina_Bool generateKeyPress(const char *key);
165 Eina_Bool generateKeyRelease(const char *key);
166 Eina_Bool generateKeyEvent(const char *keyname, double delay);
167 Eina_Bool generateTouchDown(int idx, int x, int y);
168 Eina_Bool generateTouchMove(int idx, int x, int y);
169 Eina_Bool generateTouchUp(int idx, int x, int y);
170 Eina_Bool generateTapGesture();
171 Eina_Bool generateEdgeSwipeGesture();
172 Eina_Bool generateEdgeDragGesture();
173 Eina_Bool setSplashLaunch(const char *path, int type);
174 Eina_Bool setSplashOwner();
175 Eina_Bool setWinEffect(etWin *tw);
176 Eina_Bool freezeEvent();
177 Eina_Bool thawEvent();
178 Eina_Bool waitEvent(etWin *win, E_TC_Event_Type ev_type);
179 Eina_Bool requestKillWinByName(const char *name);
181 void flushEventQueue();
182 Eina_Bool insertEventQueue(Ecore_Window id, E_TC_Event_Type ev_type);
183 Eina_Bool isEventOccuredAfterCheckpoint(etWin *tw, E_TC_Event_Type ev_type);
184 void setEventCheckpoint();
185 Eina_Bool addSignalHandlers();
186 void delSignalHandlers();
188 Eldbus_Proxy *getDbusProxy() { return dbus.ds_proxy; }
189 Eldbus_Object *getDbusObject() { return dbus.ds_obj; }
190 int getLogDomain() { return logDomain; }
191 efl_util_gesture_h getGestureHandler() { return gestureHandler; }
194 Eina_Bool initProtocols();
195 efl_util_inputgen_h inputGenerator = NULL;
196 efl_util_gesture_h gestureHandler = NULL;
199 #endif // end of __ET_EVENT_LOOP_H__