efl_ecore_input_device: unify efl_ecore_input_device in efl_input_device. 90/181090/1
authorHermet Park <hermetpark@gmail.com>
Thu, 26 Apr 2018 11:20:37 +0000 (20:20 +0900)
committerHermet Park <hermetpark@gmail.com>
Fri, 8 Jun 2018 04:27:20 +0000 (13:27 +0900)
Efl_Ecore_Input_Device was introduced wrongly in merging upstream efl.

First, conceptually, efl interface should not allow Ecore.
This is totally wrong in interface design.

Second, Efl_Ecore_Input_Device conceptually same with Efl_Input_Device.
We don't need both interfaces. Even their bodies are perfectly same.

Third, EFl_Ecore_Input_Device is not compatible with Efl_Input_Device,
Whole Events in efl will be passing through with Efl_Input_Device interface,
but their classes are different, Eo will fault in type checking,
Efl_Ecore_Input_Device(or Ecore_Device) won't be passed properly.

All in all, current Efl_Ecore_Input_Device just breaks system and useless.

Change-Id: I276761e67d598457087bd2e3e06f44e58161427f

src/Makefile_Efl.am
src/lib/ecore/Ecore_Common.h
src/lib/ecore/ecore_device.c
src/lib/ecore_evas/ecore_evas.c
src/lib/ecore_input_evas/ecore_input_evas.c
src/lib/efl/CMakeLists.txt
src/lib/efl/Efl.h
src/lib/efl/interfaces/efl_common_internal.h
src/lib/efl/interfaces/efl_ecore_input_device.c [deleted file]
src/lib/efl/interfaces/efl_ecore_input_device.eo [deleted file]

index e689c18..972eda7 100644 (file)
@@ -6,7 +6,6 @@ efl_eolian_legacy_files = \
        lib/efl/interfaces/efl_gfx_image.eo \
        lib/efl/interfaces/efl_gfx_image_animation_controller.eo \
        lib/efl/interfaces/efl_input_device.eo \
-       lib/efl/interfaces/efl_ecore_input_device.eo \
         lib/efl/interfaces/efl_ui_draggable.eo \
         lib/efl/interfaces/efl_ui_clickable.eo \
         lib/efl/interfaces/efl_ui_scrollable.eo \
@@ -118,7 +117,6 @@ lib/efl/interfaces/efl_model_common.c \
 lib/efl/interfaces/efl_gfx_path.c \
 lib/efl/interfaces/efl_gfx_shape.c \
 lib/efl/interfaces/efl_input_device.c \
-lib/efl/interfaces/efl_ecore_input_device.c \
 lib/efl/interfaces/efl_io_closer.c \
 lib/efl/interfaces/efl_io_positioner.c \
 lib/efl/interfaces/efl_io_reader.c \
index 025df34..9a3ce92 100644 (file)
@@ -3242,38 +3242,38 @@ typedef Eo                 Ecore_Device; /**< A handle for an device */
   * @typedef Ecore_Device_Class
   * An enum of Device Classes.
   */
-typedef Efl_Ecore_Input_Device_Type Ecore_Device_Class;
+typedef Efl_Input_Device_Type Ecore_Device_Class;
 
-#define ECORE_DEVICE_CLASS_NONE             EFL_ECORE_INPUT_DEVICE_TYPE_NONE /**< Not a device @since 1.8 */
-#define ECORE_DEVICE_CLASS_SEAT             EFL_ECORE_INPUT_DEVICE_TYPE_SEAT /**< The user/seat (the user themselves) @since 1.8 */
-#define ECORE_DEVICE_CLASS_KEYBOARD         EFL_ECORE_INPUT_DEVICE_TYPE_KEYBOARD /**< A regular keyboard, numberpad or attached buttons @since 1.8 */
-#define ECORE_DEVICE_CLASS_MOUSE            EFL_ECORE_INPUT_DEVICE_TYPE_MOUSE /**< A mouse, trackball or touchpad relative motion device @since 1.8 */
-#define ECORE_DEVICE_CLASS_TOUCH            EFL_ECORE_INPUT_DEVICE_TYPE_TOUCH /**< A touchscreen with fingers or stylus @since 1.8 */
-#define ECORE_DEVICE_CLASS_PEN              EFL_ECORE_INPUT_DEVICE_TYPE_PEN /**< A special pen device @since 1.8 */
-#define ECORE_DEVICE_CLASS_POINTER          EFL_ECORE_INPUT_DEVICE_TYPE_WAND /**< A laser pointer, wii-style or "minority report" pointing device @since 1.8 */
-#define ECORE_DEVICE_CLASS_WAND             EFL_ECORE_INPUT_DEVICE_TYPE_WAND /**< A synonym for ECORE_DEVICE_CLASS_POINTER @since 1.18 */
-#define ECORE_DEVICE_CLASS_GAMEPAD          EFL_ECORE_INPUT_DEVICE_TYPE_GAMEPAD /**<  A gamepad controller or joystick @since 1.8 */
+#define ECORE_DEVICE_CLASS_NONE             EFL_INPUT_DEVICE_TYPE_NONE /**< Not a device @since 1.8 */
+#define ECORE_DEVICE_CLASS_SEAT             EFL_INPUT_DEVICE_TYPE_SEAT /**< The user/seat (the user themselves) @since 1.8 */
+#define ECORE_DEVICE_CLASS_KEYBOARD         EFL_INPUT_DEVICE_TYPE_KEYBOARD /**< A regular keyboard, numberpad or attached buttons @since 1.8 */
+#define ECORE_DEVICE_CLASS_MOUSE            EFL_INPUT_DEVICE_TYPE_MOUSE /**< A mouse, trackball or touchpad relative motion device @since 1.8 */
+#define ECORE_DEVICE_CLASS_TOUCH            EFL_INPUT_DEVICE_TYPE_TOUCH /**< A touchscreen with fingers or stylus @since 1.8 */
+#define ECORE_DEVICE_CLASS_PEN              EFL_INPUT_DEVICE_TYPE_PEN /**< A special pen device @since 1.8 */
+#define ECORE_DEVICE_CLASS_POINTER          EFL_INPUT_DEVICE_TYPE_WAND /**< A laser pointer, wii-style or "minority report" pointing device @since 1.8 */
+#define ECORE_DEVICE_CLASS_WAND             EFL_INPUT_DEVICE_TYPE_WAND /**< A synonym for ECORE_DEVICE_CLASS_POINTER @since 1.18 */
+#define ECORE_DEVICE_CLASS_GAMEPAD          EFL_INPUT_DEVICE_TYPE_GAMEPAD /**<  A gamepad controller or joystick @since 1.8 */
 
 
  /**
    * @typedef Ecore_Device_Subclass
    * An enum of Device Subclasses.
    */
-typedef Efl_Ecore_Input_Device_Subtype Ecore_Device_Subclass;
-
-#define ECORE_DEVICE_SUBCLASS_NONE   EFL_ECORE_INPUT_DEVICE_SUBTYPE_NONE /**< Not a device @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_FINGER   EFL_ECORE_INPUT_DEVICE_SUBTYPE_FINGER /**< The normal flat of your finger @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_FINGERNAIL   EFL_ECORE_INPUT_DEVICE_SUBTYPE_FINGERNAIL /**< A fingernail @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_KNUCKLE   EFL_ECORE_INPUT_DEVICE_SUBTYPE_KNUCKLE /**< A Knuckle @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_PALM   EFL_ECORE_INPUT_DEVICE_SUBTYPE_PALM /**< The palm of a users hand @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_HAND_SIZE   EFL_ECORE_INPUT_DEVICE_SUBTYPE_HAND_SIZE /**< The side of your hand @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_HAND_FLAT   EFL_ECORE_INPUT_DEVICE_SUBTYPE_HAND_FLAT /**< The flat of your hand @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_PEN_TIP   EFL_ECORE_INPUT_DEVICE_SUBTYPE_PEN_TIP /**< The tip of a pen @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_TRACKPAD   EFL_ECORE_INPUT_DEVICE_SUBTYPE_TRACKPAD /**< A trackpad style mouse @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_TRACKPOINT   EFL_ECORE_INPUT_DEVICE_SUBTYPE_TRACKPOINT /**< A trackpoint style mouse @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_TRACKBALL   EFL_ECORE_INPUT_DEVICE_SUBTYPE_TRACKBALL /**< A trackball style mouse @since 1.18 */
-#define ECORE_DEVICE_SUBCLASS_REMOCON   EFL_ECORE_INPUT_DEVICE_SUBTYPE_REMOCON /**< A remote controller @since_tizen 4.0 */
-#define ECORE_DEVICE_SUBCLASS_VIRTUAL_KEYBOARD   EFL_ECORE_INPUT_DEVICE_SUBTYPE_VIRTUAL_KEYBOARD /**< A virtual keyboard @since_tizen 4.0*/
+typedef Efl_Input_Device_Subtype Ecore_Device_Subclass;
+
+#define ECORE_DEVICE_SUBCLASS_NONE   EFL_INPUT_DEVICE_SUBTYPE_NONE /**< Not a device @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_FINGER   EFL_INPUT_DEVICE_SUBTYPE_FINGER /**< The normal flat of your finger @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_FINGERNAIL   EFL_INPUT_DEVICE_SUBTYPE_FINGERNAIL /**< A fingernail @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_KNUCKLE   EFL_INPUT_DEVICE_SUBTYPE_KNUCKLE /**< A Knuckle @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_PALM   EFL_INPUT_DEVICE_SUBTYPE_PALM /**< The palm of a users hand @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_HAND_SIZE   EFL_INPUT_DEVICE_SUBTYPE_HAND_SIZE /**< The side of your hand @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_HAND_FLAT   EFL_INPUT_DEVICE_SUBTYPE_HAND_FLAT /**< The flat of your hand @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_PEN_TIP   EFL_INPUT_DEVICE_SUBTYPE_PEN_TIP /**< The tip of a pen @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_TRACKPAD   EFL_INPUT_DEVICE_SUBTYPE_TRACKPAD /**< A trackpad style mouse @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_TRACKPOINT   EFL_INPUT_DEVICE_SUBTYPE_TRACKPOINT /**< A trackpoint style mouse @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_TRACKBALL   EFL_INPUT_DEVICE_SUBTYPE_TRACKBALL /**< A trackball style mouse @since 1.18 */
+#define ECORE_DEVICE_SUBCLASS_REMOCON   EFL_INPUT_DEVICE_SUBTYPE_REMOCON /**< A remote controller @since_tizen 4.0 */
+#define ECORE_DEVICE_SUBCLASS_VIRTUAL_KEYBOARD   EFL_INPUT_DEVICE_SUBTYPE_VIRTUAL_KEYBOARD /**< A virtual keyboard @since_tizen 4.0*/
 
 typedef struct _Ecore_Device_Event_Info Ecore_Device_Event_Info; /**< @since 1.18 */
 
index fdae736..f88cb86 100644 (file)
@@ -16,7 +16,7 @@
 #ifdef DEBUG_UNTESTED_
 // booh
 #define SAFETY_CHECK(obj, klass, ...) \
-   do { MAGIC_CHECK(dev, Ecore_Device, 1); \
+   do { MAGIC_CHECK(obj, klass, 1); \
         return __VA_ARGS__; \
         MAGIC_CHECK_END(); \
    } while (0)
@@ -48,16 +48,16 @@ EAPI Ecore_Device *
 ecore_device_add()
 {
    Ecore_Device *dev;
-   Efl_Ecore_Input_Device_Data *d;
+   Efl_Input_Device_Data *d;
 
-   dev = efl_add_ref(EFL_ECORE_INPUT_DEVICE_CLASS, NULL,
+   dev = efl_add(EFL_INPUT_DEVICE_CLASS, NULL,
                  efl_name_set(efl_added, NULL),
                  efl_comment_set(efl_added, NULL),
-                 efl_ecore_input_device_type_set(efl_added, EFL_ECORE_INPUT_DEVICE_TYPE_NONE),
-                 efl_ecore_input_device_source_set(efl_added, NULL));
+                 efl_input_device_type_set(efl_added, EFL_INPUT_DEVICE_TYPE_NONE),
+                 efl_input_device_source_set(efl_added, NULL));
 
-   d = efl_data_scope_get(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
-   d->subclass = EFL_ECORE_INPUT_DEVICE_SUBTYPE_NONE;
+   d = efl_data_scope_get(dev, EFL_INPUT_DEVICE_CLASS);
+   d->subclass = EFL_INPUT_DEVICE_SUBTYPE_NONE;
 
    _ecore_devices = eina_list_append(_ecore_devices, dev);
    devices_num++;
@@ -71,7 +71,7 @@ ecore_device_del(Ecore_Device *dev)
    Eina_List *l, *l_next;
    Ecore_Device *data;
 
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
    EINA_LIST_FOREACH_SAFE(_ecore_devices, l, l_next, data)
      {
@@ -87,7 +87,7 @@ ecore_device_del(Ecore_Device *dev)
 EAPI Ecore_Device *
 ecore_device_ref(Ecore_Device *dev)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS, NULL);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS, NULL);
 
    return efl_ref(dev);
 }
@@ -95,7 +95,7 @@ ecore_device_ref(Ecore_Device *dev)
 EAPI void
 ecore_device_unref(Ecore_Device *dev)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
    efl_unref(dev);
 }
@@ -109,7 +109,7 @@ ecore_device_list(void)
 EAPI void
 ecore_device_name_set(Ecore_Device *dev, const char *name)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
    efl_name_set(dev, name);
 }
@@ -117,7 +117,7 @@ ecore_device_name_set(Ecore_Device *dev, const char *name)
 EAPI const char *
 ecore_device_name_get(const Ecore_Device *dev)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS, NULL);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS, NULL);
 
    return efl_name_get(dev);
 }
@@ -125,7 +125,7 @@ ecore_device_name_get(const Ecore_Device *dev)
 EAPI void
 ecore_device_description_set(Ecore_Device *dev, const char *desc)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
    efl_comment_set(dev, desc);
 }
@@ -133,7 +133,7 @@ ecore_device_description_set(Ecore_Device *dev, const char *desc)
 EAPI const char *
 ecore_device_description_get(const Ecore_Device *dev)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS, NULL);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS, NULL);
 
    return efl_comment_get(dev);
 }
@@ -141,7 +141,7 @@ ecore_device_description_get(const Ecore_Device *dev)
 EAPI void
 ecore_device_identifier_set(Ecore_Device *dev, const char *identifier)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
    efl_comment_set(dev, identifier);
 }
@@ -149,7 +149,7 @@ ecore_device_identifier_set(Ecore_Device *dev, const char *identifier)
 EAPI const char *
 ecore_device_identifier_get(const Ecore_Device *dev)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS, NULL);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS, NULL);
 
    return efl_comment_get(dev);
 }
@@ -157,26 +157,26 @@ ecore_device_identifier_get(const Ecore_Device *dev)
 EAPI void
 ecore_device_class_set(Ecore_Device *dev, Ecore_Device_Class clas)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
-   efl_ecore_input_device_type_set(dev, clas);
+   efl_input_device_type_set(dev, clas);
 }
 
 EAPI Ecore_Device_Class
 ecore_device_class_get(const Ecore_Device *dev)
 {
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS, EFL_ECORE_INPUT_DEVICE_TYPE_NONE);
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS, EFL_INPUT_DEVICE_TYPE_NONE);
 
-   return efl_ecore_input_device_type_get(dev);
+   return efl_input_device_type_get(dev);
 }
 
 EAPI void
 ecore_device_subclass_set(Ecore_Device *dev, Ecore_Device_Subclass subclas)
 {
-   Efl_Ecore_Input_Device_Data *d;
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   Efl_Input_Device_Data *d;
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS);
 
-   d = efl_data_scope_get(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   d = efl_data_scope_get(dev, EFL_INPUT_DEVICE_CLASS);
    if (!d) return;
 
    d->subclass = subclas;
@@ -185,10 +185,10 @@ ecore_device_subclass_set(Ecore_Device *dev, Ecore_Device_Subclass subclas)
 EAPI Ecore_Device_Subclass
 ecore_device_subclass_get(const Ecore_Device *dev)
 {
-   Efl_Ecore_Input_Device_Data *d;
-   SAFETY_CHECK(dev, EFL_ECORE_INPUT_DEVICE_CLASS, EFL_ECORE_INPUT_DEVICE_SUBTYPE_NONE);
+   Efl_Input_Device_Data *d;
+   SAFETY_CHECK(dev, EFL_INPUT_DEVICE_CLASS, EFL_INPUT_DEVICE_SUBTYPE_NONE);
 
-   d = efl_data_scope_get(dev, EFL_ECORE_INPUT_DEVICE_CLASS);
+   d = efl_data_scope_get(dev, EFL_INPUT_DEVICE_CLASS);
    if (!d) return 0;
 
    return d->subclass;
index 4d179a2..dd666fa 100644 (file)
@@ -5278,7 +5278,7 @@ _ecore_evas_event_evas_device_get(Evas *evas, Ecore_Device *ecore_dev)
    Efl_Input_Device *dev = NULL;
    Eina_List *list, *l;
 
-   if (efl_class_get(ecore_dev) != EFL_ECORE_INPUT_DEVICE_CLASS) return NULL;
+   if (efl_class_get(ecore_dev) != EFL_INPUT_DEVICE_CLASS) return NULL;
 
    list = (Eina_List *)evas_device_list(evas, NULL);
    EINA_LIST_FOREACH(list, l, dev)
index c79e7f0..d836a8b 100644 (file)
@@ -488,12 +488,12 @@ _ecore_event_evas_device_get(Evas *eo_e, int type, Eo *dev)
 {
    Evas_Device *evas_device = NULL;
 
-   if (!dev || efl_class_get(dev) != EFL_ECORE_INPUT_DEVICE_CLASS) return NULL;
+   if (!dev || efl_class_get(dev) != EFL_INPUT_DEVICE_CLASS) return NULL;
 
    if (dev) evas_device = _ecore_event_evas_device_find(eo_e, dev);
    if (!evas_device)
      {
-        WRN("Failed to found evas device for %s (identifier: %s, class: %d)\n", efl_name_get(dev), efl_comment_get(dev), efl_ecore_input_device_type_get(dev));
+        WRN("Failed to found evas device for %s (identifier: %s, class: %d)\n", efl_name_get(dev), efl_comment_get(dev), efl_input_device_type_get(dev));
         if (type == ECORE_EVENT_KEY_DOWN || type == ECORE_EVENT_KEY_UP)
           evas_device = evas_device_default_get(eo_e, EVAS_DEVICE_CLASS_KEYBOARD);
         else
index 7ed2b8b..0c03b5c 100644 (file)
@@ -28,7 +28,6 @@ set(PUBLIC_EO_FILES
   interfaces/efl_image_animated.eo
   interfaces/efl_image_load.eo
   interfaces/efl_input_device.eo
-  interfaces/efl_ecore_input_device.eo
   interfaces/efl_input_types.eot
   interfaces/efl_io_buffer.eo
   interfaces/efl_io_closer.eo
@@ -77,7 +76,6 @@ set(SOURCES
   interfaces/efl_vpath_core.c
   interfaces/efl_vpath_file_core.c
   interfaces/efl_input_device.c
-  interfaces/efl_ecore_input_device.c
   interfaces/efl_io_closer.c
   interfaces/efl_io_positioner.c
   interfaces/efl_io_reader.c
index cd6b7df..6cebb21 100644 (file)
@@ -140,7 +140,6 @@ typedef Efl_Gfx_Path_Command_Type Efl_Gfx_Path_Command;
 /* Input events */
 #include "interfaces/efl_input_types.eot.h"
 #include "interfaces/efl_input_device.eo.h"
-#include "interfaces/efl_ecore_input_device.eo.h"
 
 /* Canvas & UI */
 #include "interfaces/efl_canvas_scene.eo.h"
@@ -208,7 +207,6 @@ EAPI Efl_Object *efl_part(const Eo *obj, const char *name);
 #include "interfaces/efl_gfx_image.eo.legacy.h"
 #include "interfaces/efl_gfx_image_animation_controller.eo.legacy.h"
 #include "interfaces/efl_input_device.eo.legacy.h"
-#include "interfaces/efl_ecore_input_device.eo.legacy.h"
 #include "interfaces/efl_text_types.eot.h"
 #endif
 
index 300e3b8..f0ca171 100644 (file)
@@ -16,9 +16,6 @@
 typedef struct _Efl_Input_Pointer_Data  Efl_Input_Pointer_Data;
 typedef struct _Efl_Input_Key_Data      Efl_Input_Key_Data;
 typedef struct _Efl_Input_Device_Data   Efl_Input_Device_Data;
-// TIZEN_ONLY(20180118): support a Ecore_Device
-typedef struct _Efl_Ecore_Input_Device_Data   Efl_Ecore_Input_Device_Data;
-//
 typedef struct _Efl_Input_Hold_Data     Efl_Input_Hold_Data;
 typedef struct _Efl_Input_Focus_Data    Efl_Input_Focus_Data;
 
@@ -101,19 +98,6 @@ struct _Efl_Input_Device_Data
    unsigned int      pointer_count;
 };
 
-// TIZEN_ONLY(20180118): support a Ecore_Device
-struct _Efl_Ecore_Input_Device_Data
-{
-   Eo               *eo;
-   Efl_Ecore_Input_Device *source;  /* ref */
-   Eina_List        *children; /* ref'ed by efl_parent, not by this list */
-   unsigned int      id;
-   Efl_Ecore_Input_Device_Type klass;
-   unsigned int      subclass; // Evas_Device_Subclass (unused)
-   unsigned int      pointer_count;
-};
-//
-
 struct _Efl_Input_Hold_Data
 {
    Eo               *eo;
diff --git a/src/lib/efl/interfaces/efl_ecore_input_device.c b/src/lib/efl/interfaces/efl_ecore_input_device.c
deleted file mode 100644 (file)
index a9e731c..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <Efl.h>
-
-#define EFL_INTERNAL_UNSTABLE
-#include "efl_common_internal.h"
-
-#define MY_CLASS EFL_ECORE_INPUT_DEVICE_CLASS
-
-/* Efl Input Device = Evas Device */
-
-typedef struct _Child_Device_Iterator Child_Device_Iterator;
-
-struct _Child_Device_Iterator
-{
-   Eina_Iterator  iterator;
-   Eina_List     *list;
-   Eina_Iterator *real_iterator;
-   Eo            *object;
-};
-
-static Eina_Bool
-_is_pointer(Efl_Ecore_Input_Device_Data *pd)
-{
-   return (pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_MOUSE ||
-           pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_TOUCH ||
-           pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_PEN ||
-           pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_WAND);
-}
-
-static void
-_seat_pointers_update(Efl_Ecore_Input_Device_Data *seat, Efl_Ecore_Input_Device_Data *dev)
-{
-   if (seat && _is_pointer(dev))
-     seat->pointer_count++;
-}
-
-EOLIAN static Efl_Object *
-_efl_ecore_input_device_efl_object_constructor(Eo *obj, Efl_Ecore_Input_Device_Data *pd)
-{
-   obj = efl_constructor(efl_super(obj, MY_CLASS));
-   pd->eo = obj;
-   return obj;
-}
-
-EOLIAN static void
-_efl_ecore_input_device_efl_object_destructor(Eo *obj, Efl_Ecore_Input_Device_Data *pd)
-{
-   pd->children = eina_list_free(pd->children);
-   if (pd->klass != EFL_ECORE_INPUT_DEVICE_TYPE_SEAT)
-     {
-        Efl_Ecore_Input_Device_Data *p;
-        Eo *seat;
-
-        seat = efl_ecore_input_device_seat_get(obj);
-        p = efl_data_scope_get(seat, MY_CLASS);
-        if (p) p->children = eina_list_remove(p->children, obj);
-     }
-   efl_unref(pd->source);
-
-   return efl_destructor(efl_super(obj, MY_CLASS));
-}
-
-EOLIAN static void
-_efl_ecore_input_device_efl_object_parent_set(Eo *obj, Efl_Ecore_Input_Device_Data *pd EINA_UNUSED, Eo *parent)
-{
-   Efl_Ecore_Input_Device_Data *p;
-
-   if (parent)
-     {
-        if (efl_isa(parent, MY_CLASS))
-          {
-             p = efl_data_scope_get(parent, MY_CLASS);
-             EINA_SAFETY_ON_FALSE_RETURN(p->klass == EFL_ECORE_INPUT_DEVICE_TYPE_SEAT);
-             if (!eina_list_data_find(p->children, obj))
-               {
-                  p->children = eina_list_append(p->children, obj);
-                  _seat_pointers_update(p, pd);
-               }
-          }
-        else if(!efl_isa(parent, EFL_CANVAS_SCENE_INTERFACE))
-          {
-             EINA_SAFETY_ERROR("The parent of a device must be a seat or the canvas");
-             return;
-          }
-     }
-   else
-     {
-        Eo *old_parent = efl_parent_get(obj);
-        if (old_parent && efl_isa(old_parent, MY_CLASS))
-          {
-             p = efl_data_scope_get(old_parent, MY_CLASS);
-             p->children = eina_list_remove(p->children, obj);
-             if (_is_pointer(pd))
-               p->pointer_count--;
-          }
-     }
-
-   efl_parent_set(efl_super(obj, MY_CLASS), parent);
-}
-
-EOLIAN static void
-_efl_ecore_input_device_device_type_set(Eo *obj, Efl_Ecore_Input_Device_Data *pd, Efl_Ecore_Input_Device_Type klass)
-{
-   EINA_SAFETY_ON_TRUE_RETURN(pd->klass);
-   pd->klass = klass;
-   if (klass != EFL_ECORE_INPUT_DEVICE_TYPE_SEAT)
-     {
-        Efl_Ecore_Input_Device_Data *seat = efl_data_scope_get(efl_ecore_input_device_seat_get(obj), MY_CLASS);
-        _seat_pointers_update(seat, pd);
-     }
-}
-
-EOLIAN static Efl_Ecore_Input_Device_Type
-_efl_ecore_input_device_device_type_get(const Eo *obj EINA_UNUSED, Efl_Ecore_Input_Device_Data *pd)
-{
-   return pd->klass;
-}
-
-EOLIAN static void
-_efl_ecore_input_device_source_set(Eo *obj EINA_UNUSED, Efl_Ecore_Input_Device_Data *pd, Efl_Ecore_Input_Device *src)
-{
-   if (pd->source == src) return;
-   efl_unref(pd->source);
-   pd->source = efl_ref(src);
-}
-
-EOLIAN static Efl_Ecore_Input_Device *
-_efl_ecore_input_device_source_get(const Eo *obj EINA_UNUSED, Efl_Ecore_Input_Device_Data *pd)
-{
-   return pd->source;
-}
-
-EOLIAN static void
-_efl_ecore_input_device_seat_id_set(Eo *obj EINA_UNUSED, Efl_Ecore_Input_Device_Data *pd, unsigned int id)
-{
-   EINA_SAFETY_ON_TRUE_RETURN(pd->klass != EFL_ECORE_INPUT_DEVICE_TYPE_SEAT);
-   pd->id = id;
-}
-
-EOLIAN static unsigned int
-_efl_ecore_input_device_seat_id_get(const Eo *obj, Efl_Ecore_Input_Device_Data *pd)
-{
-   if (pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_SEAT)
-     return pd->id;
-   return efl_ecore_input_device_seat_id_get(efl_ecore_input_device_seat_get(obj));
-}
-
-EOLIAN static Efl_Ecore_Input_Device *
-_efl_ecore_input_device_seat_get(const Eo *obj, Efl_Ecore_Input_Device_Data *pd)
-{
-   for (; obj; obj = efl_parent_get(obj))
-     {
-        if (pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_SEAT)
-          return pd->eo;
-
-        if (!efl_isa(obj, MY_CLASS)) break;
-        pd = efl_data_scope_get(obj, MY_CLASS);
-     }
-
-   return NULL;
-}
-
-static Eina_Bool
-_child_device_iterator_next(Child_Device_Iterator *it, void **data)
-{
-   Eo *sub;
-
-   if (!eina_iterator_next(it->real_iterator, (void **) &sub))
-     return EINA_FALSE;
-
-   if (data) *data = sub;
-   return EINA_TRUE;
-}
-
-static Eo *
-_child_device_iterator_get_container(Child_Device_Iterator *it)
-{
-   return it->object;
-}
-
-static void
-_child_device_iterator_free(Child_Device_Iterator *it)
-{
-   eina_iterator_free(it->real_iterator);
-   free(it);
-}
-
-EOLIAN static Eina_Iterator *
-_efl_ecore_input_device_children_iterate(Eo *obj, Efl_Ecore_Input_Device_Data *pd)
-{
-   Child_Device_Iterator *it;
-
-   it = calloc(1, sizeof(*it));
-   if (!it) return NULL;
-
-   EINA_MAGIC_SET(&it->iterator, EINA_MAGIC_ITERATOR);
-
-   it->list = pd->children;
-   it->real_iterator = eina_list_iterator_new(it->list);
-   it->iterator.version = EINA_ITERATOR_VERSION;
-   it->iterator.next = FUNC_ITERATOR_NEXT(_child_device_iterator_next);
-   it->iterator.get_container = FUNC_ITERATOR_GET_CONTAINER(_child_device_iterator_get_container);
-   it->iterator.free = FUNC_ITERATOR_FREE(_child_device_iterator_free);
-   it->object = obj;
-
-   return &it->iterator;
-}
-
-EOLIAN static unsigned int
-_efl_ecore_input_device_has_pointer_caps(Eo *obj EINA_UNUSED, Efl_Ecore_Input_Device_Data *pd)
-{
-   if (pd->klass == EFL_ECORE_INPUT_DEVICE_TYPE_SEAT)
-     return pd->pointer_count;
-   return _is_pointer(pd);
-}
-
-#include "interfaces/efl_ecore_input_device.eo.c"
diff --git a/src/lib/efl/interfaces/efl_ecore_input_device.eo b/src/lib/efl/interfaces/efl_ecore_input_device.eo
deleted file mode 100644 (file)
index 2e3554a..0000000
+++ /dev/null
@@ -1,118 +0,0 @@
-enum Efl.Ecore.Input.Device.Type
-{
-   [[General type of input device.
-
-     Legacy support since 1.8 as $Evas_Device_Class.
-   ]]
-   none,     [[Not a device.]]
-   seat,     [[The user/seat (the user themselves).]]
-   keyboard, [[A regular keyboard, numberpad or attached buttons.]]
-   mouse,    [[A mouse, trackball or touchpad relative motion device.]]
-   touch,    [[A touchscreen with fingers or stylus.]]
-   pen,      [[A special pen device.]]
-   wand,     [[A laser pointer, wii-style or "Minority Report" pointing device.]]
-   gamepad,  [[A gamepad controller or joystick.]]
-}
-
-// TIZEN_ONLY(20171109): support a tizen_input_device_manager interface
-enum Efl.Ecore.Input.Device.Subtype
-{
-   [[General type of input device.
-
-     Legacy support since 1.8 as $Evas_Device_Subclass.
-   ]]
-   none,     [[Not a device.]]
-   finger,     [[The normal flat of your finger.]]
-   fingernail, [[A fingernai.]]
-   knuckle,    [[A Knuckle.]]
-   palm,    [[The palm of a users hand.]]
-   hand_size,      [[The side of your hand.]]
-   hand_flat,     [[The flat of your hand.]]
-   pen_tip,  [[The tip of a pen.]]
-   trackpad,  [[A trackpad style mouse.]]
-   trackpoint,  [[A trackpoint style mouse.]]
-   trackball,  [[A trackball style mouse.]]
-// TIZEN_ONLY(20170620): Add new device subclasses.
-   remocon,  [[A remote controller.]]
-   virtual_keyboard,  [[A virtual keyboard.]]
-//
-}
-//
-
-/* TODO: Add canvas property. Current problem is we need to return
-         Efl.Ui.Win and not Evas:
-  @property canvas { values { canvas: Efl.Canvas; } }
-*/
-
-class Efl.Ecore.Input.Device (Efl.Object)
-{
-   [[Represents a pointing device such as a touch finger, pen or mouse.
-
-     @since 1.18
-   ]]
-   methods {
-      @property device_type {
-         [[Device type property]]
-         values {
-            klass: Efl.Ecore.Input.Device.Type; [[Input device class]]
-         }
-      }
-      @property source {
-         [[Device source property]]
-         values {
-            src: Efl.Ecore.Input.Device; [[Input device]]
-         }
-      }
-      @property seat {
-         [[Get the @Efl.Ecore.Input.Device that represents a seat.
-
-           This method will find the seat the device belongs to.
-
-           For this, it walk through device's parents looking for a device
-           with @Efl.Ecore.Input.Device.Type.seat. It may be
-           the device itself.
-
-           In case no seat is found, $null is returned.
-         ]]
-         get {}
-         values {
-            seat: Efl.Ecore.Input.Device; [[The seat this device belongs to.]]
-         }
-      }
-      @property seat_id {
-         [[Seat id number
-
-           @since 1.20
-         ]]
-          values {
-             id: uint; [[The id of the seat]]
-          }
-      }
-      children_iterate {
-         [[Lists the children attached to this device.
-
-           This is only meaningful with seat devices, as they are groups of
-           real input devices.
-
-           @since 1.20
-         ]]
-         return: iterator<const(Efl.Ecore.Input.Device)> @owned; [[List of device children]]
-      }
-      has_pointer_caps {
-         [[Determine whether a device has pointer capabilities.
-
-           Returns 1 for Mouse, Touch, Pen, Pointer, and Wand type devices.
-
-           If a seat device is passed returns the number of pointer devices in the seat.
-
-           @since 1.20
-         ]]
-         return: uint; [[Pointer caps]]
-      }
-   }
-   implements {
-      Efl.Object.constructor;
-      Efl.Object.destructor;
-      Efl.Object.parent { set; }
-   }
-}