e_test_event: Added some eventItems 58/257558/1
authorJunseok, Kim <juns.kim@samsung.com>
Tue, 27 Apr 2021 11:25:30 +0000 (20:25 +0900)
committerJunseok, Kim <juns.kim@samsung.com>
Tue, 27 Apr 2021 11:25:30 +0000 (20:25 +0900)
Added following eventItems.
- visibleEventItem
- rotationEventItem
- focusEventItem
each eventItem contains specific event variables.
and each event callback insert their own eventItem.

Change-Id: I2aa25c44d919a8a43286edb3b364caeb3c4b6479

src/e_test_event.cpp
src/e_test_event.h

index b86eb77..0a17cf8 100644 (file)
@@ -2034,6 +2034,7 @@ _cb_signal_vis_changed(void *data,
                        const Eldbus_Message *msg)
 {
    etRunner *runner = (etRunner *)data;
+   std::shared_ptr<visibleEventItem> visibleEvent = NULL;
    const char *name = NULL, *text = NULL;
    Eina_Bool res = EINA_FALSE;
    int vis = 0;
@@ -2045,7 +2046,10 @@ _cb_signal_vis_changed(void *data,
    res = eldbus_message_arguments_get(msg, "ub", &id, &vis);
    EINA_SAFETY_ON_FALSE_GOTO(res, finish);
 
-   runner->insertEventQueue(id, E_TC_EVENT_TYPE_VIS_CHANGED);
+   visibleEvent = std::make_shared<visibleEventItem>(id, E_TC_EVENT_TYPE_VIS_CHANGED, vis);
+   EINA_SAFETY_ON_NULL_GOTO(visibleEvent, finish);
+
+   runner->insertEventQueue(visibleEvent);
 
 finish:
    if ((name) || (text))
@@ -2083,6 +2087,7 @@ _cb_signal_win_rot_changed(void *data,
                            const Eldbus_Message *msg)
 {
    etRunner *runner = (etRunner *)data;
+   std::shared_ptr<rotationEventItem> rotationEvent = NULL;
    const char *name = NULL, *text = NULL;
    Eina_Bool res = EINA_FALSE;
    int angle = 0;
@@ -2095,7 +2100,10 @@ _cb_signal_win_rot_changed(void *data,
    res = eldbus_message_arguments_get(msg, "ui", &id, &angle);
    EINA_SAFETY_ON_FALSE_GOTO(res, finish);
 
-   runner->insertEventQueue(id, E_TC_EVENT_TYPE_WINDOW_ROTATION_CHANGE);
+   rotationEvent = std::make_shared<rotationEventItem>(id, E_TC_EVENT_TYPE_WINDOW_ROTATION_CHANGE, angle);
+   EINA_SAFETY_ON_NULL_GOTO(rotationEvent, finish);
+
+   runner->insertEventQueue(rotationEvent);
 
 finish:
    if ((name) || (text))
@@ -2109,17 +2117,21 @@ _cb_signal_focus_changed(void *data,
                          const Eldbus_Message *msg)
 {
    etRunner *runner = (etRunner *)data;
+   std::shared_ptr<focusEventItem> focusEvent = NULL;
    const char *name = NULL, *text = NULL;
-   Eina_Bool res = EINA_FALSE;
+   Eina_Bool res = EINA_FALSE, focused = EINA_FALSE;
    Ecore_Window id = 0;
 
    res = eldbus_message_error_get(msg, &name, &text);
    EINA_SAFETY_ON_TRUE_GOTO(res, finish);
 
-   res = eldbus_message_arguments_get(msg, "u", &id);
+   res = eldbus_message_arguments_get(msg, "ub", &id, &focused);
    EINA_SAFETY_ON_FALSE_GOTO(res, finish);
 
-   runner->insertEventQueue(id, E_TC_EVENT_TYPE_FOCUS_CHANGED);
+   focusEvent = std::make_shared<focusEventItem>(id, E_TC_EVENT_TYPE_FOCUS_CHANGED, focused);
+   EINA_SAFETY_ON_NULL_GOTO(focusEvent, finish);
+
+   runner->insertEventQueue(focusEvent);
 
 finish:
    if ((name) || (text))
index 834e2bc..9464de6 100644 (file)
@@ -31,6 +31,63 @@ protected:
    E_TC_Event_Type type;
 };
 
+class visibleEventItem : public eventItem
+{
+public:
+   visibleEventItem() = delete;
+   visibleEventItem (Ecore_Window win, E_TC_Event_Type type, Eina_Bool visible) :
+   eventItem(win, type),
+   visible(visible)
+   {
+   }
+   ~visibleEventItem()
+   {
+   }
+
+   Eina_Bool isVisible() { return this->visible; }
+
+private:
+   Eina_Bool visible;
+};
+
+class rotationEventItem : public eventItem
+{
+public:
+   rotationEventItem() = delete;
+   rotationEventItem (Ecore_Window win, E_TC_Event_Type type, int angle) :
+   eventItem(win, type),
+   angle(angle)
+   {
+   }
+   ~rotationEventItem()
+   {
+   }
+
+   int getAngle() { return this->angle; }
+
+private:
+   int angle;
+};
+
+class focusEventItem : public eventItem
+{
+public:
+   focusEventItem() = delete;
+   focusEventItem (Ecore_Window win, E_TC_Event_Type type, Eina_Bool focused) :
+   eventItem(win, type),
+   focused(focused)
+   {
+   }
+   ~focusEventItem()
+   {
+   }
+
+   Eina_Bool isFocused() { return this->focused; }
+
+private:
+   Eina_Bool focused;
+};
+
 class auxHintEventItem : public eventItem
 {
 public: