Eolian: Integration of App Client View
authorDaniel Zaoui <daniel.zaoui@samsung.com>
Tue, 18 Mar 2014 15:37:44 +0000 (17:37 +0200)
committerDaniel Zaoui <daniel.zaoui@samsung.com>
Wed, 19 Mar 2014 05:04:35 +0000 (07:04 +0200)
src/bin/test_task_switcher.c
src/lib/Makefile.am
src/lib/elm_app_client_view.c
src/lib/elm_app_client_view.eo [new file with mode: 0644]
src/lib/elm_app_client_view_eo.h

index f1911ce..4069303 100644 (file)
@@ -70,7 +70,7 @@ _app_view_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EIN
 
         old_view = evas_object_data_del(view_props, "view");
         eo_do(old_view,
-              eo_event_callback_del(ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED,
+              eo_event_callback_del(ELM_APP_CLIENT_VIEW_EVENT_PROPERTY_CHANGED,
                                     _app_view_prop_changed_cb, table));
         elm_list_clear(view_props);
      }
@@ -90,7 +90,7 @@ _app_view_clicked(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EIN
          elm_app_client_view_progress_get(&progress),
          elm_app_client_view_new_events_get(&new_events),
          elm_app_client_view_window_get(&window),
-         eo_event_callback_add(ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED,
+         eo_event_callback_add(ELM_APP_CLIENT_VIEW_EVENT_PROPERTY_CHANGED,
                                _app_view_prop_changed_cb, table));
 
    snprintf(buffer, sizeof(buffer), "Title=%s", title);
index 2fa04ce..f5d86de 100644 (file)
@@ -543,7 +543,9 @@ BUILT_SOURCES = \
                elm_actionslider.eo.c \
                elm_actionslider.eo.h \
                elm_app_client.eo.c \
-               elm_app_client.eo.h
+               elm_app_client.eo.h \
+               elm_app_client_view.eo.c \
+               elm_app_client_view.eo.h
 
 EXTRA_DIST += \
             elm_widget.eo \
@@ -555,7 +557,8 @@ EXTRA_DIST += \
             elm_hover.eo \
             elm_access.eo \
             elm_actionslider.eo \
-            elm_app_client.eo
+            elm_app_client.eo \
+            elm_app_client_view.eo
 
 nodist_includesunstable_HEADERS = \
                                  elm_widget.eo.h \
@@ -567,5 +570,6 @@ nodist_includesunstable_HEADERS = \
                                  elm_access.eo.h \
                                  elm_hover.eo.h \
                                  elm_actionslider.eo.h \
-                                 elm_app_client.eo.h
+                                 elm_app_client.eo.h \
+                                 elm_app_client_view.eo.h
 
index a834a8a..d7ab9d4 100644 (file)
@@ -5,36 +5,10 @@
 #include <Elementary.h>
 #include "elm_priv.h"
 
-EAPI Eo_Op ELM_APP_CLIENT_VIEW_BASE_ID = EO_NOOP;
-
 #define MY_CLASS ELM_APP_CLIENT_VIEW_CLASS
 
 #define MY_CLASS_NAME "Elm_App_Client_View"
 
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_STATE_CHANGED =
-         EO_EVENT_DESCRIPTION("state,changed", "State of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_TITLE_CHANGED =
-         EO_EVENT_DESCRIPTION("title,changed", "Title of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_ICON_CHANGED =
-         EO_EVENT_DESCRIPTION("icon,changed", "Icon of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_ICON_PIXELS_CHANGED =
-         EO_EVENT_DESCRIPTION("icon,pixels,changed", "Icons pixels of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_PROGRESS_CHANGED =
-         EO_EVENT_DESCRIPTION("progress,changed", "Progress of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_NEW_EVENTS_CHANGED =
-         EO_EVENT_DESCRIPTION("new_events,changed", "New events of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_WINDOW_CHANGED =
-         EO_EVENT_DESCRIPTION("window,changed", "Window of view changed.");
-
-EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED =
-         EO_EVENT_DESCRIPTION("property,changed", "One of view properties changed.");
-
 typedef struct
 {
    Eldbus_Proxy *view_proxy;
@@ -83,33 +57,33 @@ _prop_changed(void *user_data, Eldbus_Proxy *proxy EINA_UNUSED, void *event_info
    Elm_App_Client_View_Data *cdata = eo_data_scope_get(eo, MY_CLASS);
 
    if (!strcmp(prop_event->name, "Title"))
-     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_TITLE_CHANGED,
+     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_TITLE_CHANGED,
                                       _string_prop_get(v), NULL));
    else if (!strcmp(prop_event->name, "IconName"))
-     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_ICON_CHANGED,
+     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_ICON_CHANGED,
                                       _string_prop_get(v), NULL));
    else if (!strcmp(prop_event->name, "IconPixels"))
-     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_ICON_PIXELS_CHANGED,
+     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_ICON_PIXELS_CHANGED,
                                       NULL, NULL));
    else if (!strcmp(prop_event->name, "NewEvents"))
-     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_NEW_EVENTS_CHANGED,
+     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_NEW_EVENTS_CHANGED,
                                       (void *)(uintptr_t)_int_prop_get(v), NULL));
    else if (!strcmp(prop_event->name, "Progress"))
-     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_PROGRESS_CHANGED,
+     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_PROGRESS_CHANGED,
                                       (void *)(uintptr_t)_short_prop_get(v), NULL));
    else if (!strcmp(prop_event->name, "State"))
      {
         cdata->state = _string_state_to_id(_string_prop_get(v));
-        eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_STATE_CHANGED,
+        eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_STATE_CHANGED,
                                          (void *)(uintptr_t)cdata->state, NULL));
      }
    else if (!strcmp(prop_event->name, "WindowId"))
-     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_WINDOW_CHANGED,
+     eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_WINDOW_CHANGED,
                                       (void *)(uintptr_t)_int_prop_get(v), NULL));
    else
       return;
 
-   eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED,
+   eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_PROPERTY_CHANGED,
                                     prop_event->name, NULL));
 }
 
@@ -148,16 +122,15 @@ elm_app_client_view_internal_state_set(Eo *eo, Elm_App_View_State state)
    cdata->state = state;
    if (!changed)
      return;
-   eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EV_STATE_CHANGED,
+   eo_do(eo, eo_event_callback_call(ELM_APP_CLIENT_VIEW_EVENT_STATE_CHANGED,
                                     (void *)(uintptr_t)cdata->state, NULL));
 }
 
-static void
-_app_client_view_constructor(Eo *eo, void *_pd, va_list *list)
+EOLIAN static void
+_elm_app_client_view_constructor(Eo *eo, Elm_App_Client_View_Data *data, const char *path)
 {
-   Elm_App_Client_View_Data *data = _pd;
    Elm_App_Client *parent;
-   const char *package, *path = va_arg(*list, const char *);
+   const char *package = path;
    Eldbus_Connection *conn;
    Eldbus_Object *obj;
 
@@ -219,124 +192,107 @@ _dbus_action_do(Eo *eo, Eldbus_Proxy *proxy, const char *action, Elm_App_Client_
    eldbus_pending_data_set(pending, "user_data", data);
 }
 
-static void
-_client_resume(Eo *eo, void *_pd, va_list *list)
+EOLIAN static void
+_elm_app_client_view_resume(Eo *eo, Elm_App_Client_View_Data *data, Elm_App_Client_View_Cb cb, const void *user_data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   Elm_App_Client_View_Cb cb = va_arg(*list, Elm_App_Client_View_Cb);
-   const void *user_data = va_arg(*list, const void *);
 
    _dbus_action_do(eo, data->view_proxy, "Resume", cb, user_data);
 }
 
-static void
-_client_pause(Eo *eo, void *_pd, va_list *list)
+EOLIAN static void
+_elm_app_client_view_pause(Eo *eo, Elm_App_Client_View_Data *data, Elm_App_Client_View_Cb cb, const void *user_data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   Elm_App_Client_View_Cb cb = va_arg(*list, Elm_App_Client_View_Cb);
-   const void *user_data = va_arg(*list, const void *);
 
    _dbus_action_do(eo, data->view_proxy, "Pause", cb, user_data);
 }
 
-static void
-_client_close(Eo *eo, void *_pd, va_list *list)
+EOLIAN static void
+_elm_app_client_view_close(Eo *eo, Elm_App_Client_View_Data *data, Elm_App_Client_View_Cb cb, const void *user_data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   Elm_App_Client_View_Cb cb = va_arg(*list, Elm_App_Client_View_Cb);
-   const void *user_data = va_arg(*list, const void *);
 
    _dbus_action_do(eo, data->view_proxy, "Close", cb, user_data);
 }
 
-static void _eo_string_prop_get(void *_pd, va_list *list, const char *prop)
+EOLIAN static const char*
+_elm_app_client_view_title_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   const char **title = va_arg(*list, const char **);
    Eina_Value *v;
 
-   v = eldbus_proxy_property_local_get(data->view_proxy, prop);
-   *title = _string_prop_get(v);
+   v = eldbus_proxy_property_local_get(data->view_proxy, "Title");
+   return _string_prop_get(v);
 }
 
-static void _client_title_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const char*
+_elm_app_client_view_icon_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   _eo_string_prop_get(_pd, list, "Title");
-}
+   Eina_Value *v;
 
-static void _client_icon_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
-{
-   _eo_string_prop_get(_pd, list, "IconName");
+   v = eldbus_proxy_property_local_get(data->view_proxy, "IconName");
+   return _string_prop_get(v);
 }
 
-static void _client_icon_pixels_get(Eo *eo EINA_UNUSED, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_app_client_view_icon_pixels_get(Eo *obj EINA_UNUSED, Elm_App_Client_View_Data *pd EINA_UNUSED,
+      unsigned int *w EINA_UNUSED, unsigned int *h EINA_UNUSED,
+      Eina_Bool *has_alpha EINA_UNUSED, const unsigned char **pixels EINA_UNUSED)
 {
-   //Elm_App_Client_View_Data *data = _pd;
    //TODO
 }
 
-static void _client_progress_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static unsigned short
+_elm_app_client_view_progress_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   short *progress = va_arg(*list, short *);
    Eina_Value *v;
 
    v = eldbus_proxy_property_local_get(data->view_proxy, "Progress");
-   *progress = _short_prop_get(v);
+   return _short_prop_get(v);
 }
 
-static void _client_new_events_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static int
+_elm_app_client_view_new_events_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   int *new_events = va_arg(*list, int *);
    Eina_Value *v;
 
    v = eldbus_proxy_property_local_get(data->view_proxy, "NewEvents");
-   *new_events = _int_prop_get(v);
+   return _int_prop_get(v);
 }
 
-static void _client_state_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static Elm_App_View_State
+_elm_app_client_view_state_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   Elm_App_View_State *state = va_arg(*list, Elm_App_View_State *);
-
-   *state = data->state;
+   return data->state;
 }
 
-static void _client_window_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static int
+_elm_app_client_view_window_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   int *window = va_arg(*list, int *);
    Eina_Value *v;
 
    v = eldbus_proxy_property_local_get(data->view_proxy, "WindowId");
-   *window = _int_prop_get(v);
+   return _int_prop_get(v);
 }
 
-static void _client_path_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const char*
+_elm_app_client_view_path_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   const char **ret = va_arg(*list, const char **);
    Eldbus_Object *obj;
 
    obj = eldbus_proxy_object_get(data->view_proxy);
-   *ret = eldbus_object_path_get(obj);
+   return eldbus_object_path_get(obj);
 }
 
-static void _client_package_get(Eo *eo EINA_UNUSED, void *_pd, va_list *list)
+EOLIAN static const char*
+_elm_app_client_view_package_get(Eo *eo EINA_UNUSED, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
-   const char **ret = va_arg(*list, const char **);
    Eldbus_Object *obj;
 
    obj = eldbus_proxy_object_get(data->view_proxy);
-   *ret = eldbus_object_bus_name_get(obj);
+   return eldbus_object_bus_name_get(obj);
 }
 
-static void
-_destructor(Eo *eo, void *_pd, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_app_client_view_eo_base_destructor(Eo *eo, Elm_App_Client_View_Data *data)
 {
-   Elm_App_Client_View_Data *data = _pd;
    Eldbus_Object *obj;
    Eldbus_Connection *conn;
 
@@ -352,75 +308,11 @@ _destructor(Eo *eo, void *_pd, va_list *list EINA_UNUSED)
    eo_do_super(eo, MY_CLASS, eo_destructor());
 }
 
-static void
-_constructor(Eo *obj, void *_pd EINA_UNUSED, va_list *list EINA_UNUSED)
+EOLIAN static void
+_elm_app_client_view_eo_base_constructor(Eo *obj, Elm_App_Client_View_Data *_pd EINA_UNUSED)
 {
    eo_error_set(obj);
    ERR("Only custom constructor can be used with '%s' class", MY_CLASS_NAME);
 }
 
-static void
-_class_constructor(Eo_Class *klass)
-{
-   const Eo_Op_Func_Description func_desc[] = {
-      EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_CONSTRUCTOR), _constructor),
-      EO_OP_FUNC(EO_BASE_ID(EO_BASE_SUB_ID_DESTRUCTOR), _destructor),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_CONSTRUCTOR), _app_client_view_constructor),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_CLOSE), _client_close),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_PAUSE), _client_pause),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_RESUME), _client_resume),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_TITLE_GET), _client_title_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_ICON_GET), _client_icon_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_ICON_PIXELS_GET), _client_icon_pixels_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_PROGRESS_GET), _client_progress_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_NEW_EVENTS_GET), _client_new_events_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_STATE_GET), _client_state_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_WINDOW_GET), _client_window_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_PATH_GET), _client_path_get),
-      EO_OP_FUNC(ELM_APP_CLIENT_VIEW_ID(ELM_APP_CLIENT_VIEW_SUB_ID_PACKAGE_GET), _client_package_get),
-      EO_OP_FUNC_SENTINEL
-   };
-   eo_class_funcs_set(klass, func_desc);
-}
-
-static const Eo_Op_Description op_desc[] = {
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_CONSTRUCTOR, "Constructor of elm_app_client_view."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_CLOSE, "Close view."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_PAUSE, "Pause view."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_RESUME, "Resume view."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_TITLE_GET, "Get view title."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_ICON_GET, "Get view icon."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_ICON_PIXELS_GET, "Get view icon pixels."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_PROGRESS_GET, "Get view progress."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_NEW_EVENTS_GET, "Get view new events."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_STATE_GET, "Get view state."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_WINDOW_GET, "Get view window id."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_PATH_GET, "Get view dbus path."),
-     EO_OP_DESCRIPTION(ELM_APP_CLIENT_VIEW_SUB_ID_PACKAGE_GET, "Get application package."),
-     EO_OP_DESCRIPTION_SENTINEL
-};
-
-static const Eo_Event_Description *event_desc[] = {
-     ELM_APP_CLIENT_VIEW_EV_STATE_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_TITLE_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_ICON_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_ICON_PIXELS_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_NEW_EVENTS_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_PROGRESS_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_WINDOW_CHANGED,
-     ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED,
-     NULL
-};
-
-static const Eo_Class_Description class_desc = {
-     EO_VERSION,
-     MY_CLASS_NAME,
-     EO_CLASS_TYPE_REGULAR,
-     EO_CLASS_DESCRIPTION_OPS(&ELM_APP_CLIENT_VIEW_BASE_ID, op_desc, ELM_APP_CLIENT_VIEW_SUB_ID_LAST),
-     event_desc,
-     sizeof(Elm_App_Client_View_Data),
-     _class_constructor,
-     NULL
-};
-
-EO_DEFINE_CLASS(elm_app_client_view_class_get, &class_desc, EO_BASE_CLASS, NULL);
+#include "elm_app_client_view.eo.c"
diff --git a/src/lib/elm_app_client_view.eo b/src/lib/elm_app_client_view.eo
new file mode 100644 (file)
index 0000000..5b1d5e8
--- /dev/null
@@ -0,0 +1,139 @@
+class Elm_App_Client_View (Eo_Base)
+{
+   eo_prefix: elm_app_client_view;
+   constructors {
+      constructor {
+         /*@ Class constructor of elm_app_client_view */
+         params {
+            @in const char *path; /*@ DBus path of view */
+         }
+      }
+   }
+   properties {
+      state {
+         get {
+            /*@ Get state of view */
+            legacy null;
+         }
+         values {
+            Elm_App_View_State state; /*@ state of view */
+         }
+      }
+      new_events {
+         get {
+            /*@ Get new events of view */
+            legacy null;
+         }
+         values {
+            int events; /*@ number of events of view */
+         }
+      }
+      window {
+         get {
+            /*@ Get window of view */
+            legacy null;
+         }
+         values {
+            int window; /*@ window of view */
+         }
+      }
+      icon_pixels {
+         get {
+            /*@ Get icon pixels of view, view could have a icon in raw format not saved in disk. */
+            legacy null;
+         }
+         values {
+            unsigned int w; /*@ icon width */
+            unsigned int h; /*@ icon height */
+            Eina_Bool has_alpha; /*@ if icon have alpha channel */
+            const unsigned char *pixels; /*@ unsigned char array, with all bytes of icon */
+         }
+      }
+      path {
+         get {
+            /*@ Get DBus path of view */
+            legacy null;
+         }
+         values {
+            const char *ret; /*@ DBus path of view */
+         }
+      }
+      package {
+         get {
+            /*@ Get application package */
+            legacy null;
+         }
+         values {
+            const char *ret; /*@ Package of application */
+         }
+      }
+      icon {
+         get {
+            /*@ Get icon path of view */
+            legacy null;
+         }
+         values {
+            const char *ret; /*@ icon path of view */
+         }
+      }
+      progress {
+         get {
+            /*@ Get progress of view, should be -1 if there nothing in progress or something between 0-100 */
+            legacy null;
+         }
+         values {
+            unsigned short progress; /*@ progress of view */
+         }
+      }
+      title {
+         get {
+            /*@ Get title of view */
+            legacy null;
+         }
+         values {
+            const char *ret; /*@ title of view */
+         }
+      }
+   }
+   methods {
+      pause {
+         /*@ Pause view */
+         params {
+            @in Elm_App_Client_View_Cb cb; /*@ callback to be called when view was paused */
+            @in const void *data; /*@ callback user data */
+         }
+         legacy null;
+      }
+      resume {
+         /*@ Resume view */
+         params {
+            @in Elm_App_Client_View_Cb cb; /*@ callback to be called when view was resumed */
+            @in const void *data; /*@ callback user data */
+         }
+         legacy null;
+      }
+      close {
+         /*@ Close view */
+         params {
+            @in Elm_App_Client_View_Cb cb; /*@ callback to be called when view was closed */
+            @in const void *data; /*@ callback user data */
+         }
+         legacy null;
+      }
+   }
+   implements {
+      Eo_Base::constructor;
+      Eo_Base::destructor;
+   }
+   events {
+      state,changed; /*@ State of view changed. */
+      title,changed; /*@ Title of view changed. */
+      icon,changed; /*@ Icon of view changed. */
+      icon,pixels,changed; /*@ Icons pixels of view changed. */
+      new_events,changed; /*@ New events of view changed. */
+      progress,changed; /*@ Progress of view changed. */
+      window,changed; /*@ Window of view changed. */
+      property,changed; /*@ One of view properties changed. */
+   }
+
+}
index d34cb8e..bd872ed 100644 (file)
@@ -1,3 +1,8 @@
+typedef void *(*Elm_App_Client_View_Cb)(void *data, Elm_App_Client_View *view, const char *error, const char *error_message);
+
+#include "elm_app_client_view.eo.h"
+
+#if 0
 #define ELM_APP_CLIENT_VIEW_CLASS elm_app_client_view_class_get()
 
 const Eo_Class *elm_app_client_view_class_get(void) EINA_CONST;
@@ -22,8 +27,6 @@ enum
    ELM_APP_CLIENT_VIEW_SUB_ID_LAST
 };
 
-typedef void *(*Elm_App_Client_View_Cb)(void *data, Elm_App_Client_View *view, const char *error, const char *error_message);
-
 #define ELM_APP_CLIENT_VIEW_ID(sub_id) (ELM_APP_CLIENT_VIEW_BASE_ID + sub_id)
 
 /**
@@ -192,3 +195,5 @@ extern EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_WINDOW_CHANGED;
 
 extern EAPI const Eo_Event_Description _ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED;
 #define ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED (&(_ELM_APP_CLIENT_VIEW_EV_PROPERTY_CHANGED))
+#endif
+