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;
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))
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;
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))
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))
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: