Using EINA_ARG_NONNULL in Elementary.
authorhelen <helen>
Fri, 3 Dec 2010 14:08:37 +0000 (14:08 +0000)
committerhelen <helen@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 3 Dec 2010 14:08:37 +0000 (14:08 +0000)
The Api is very large, probably there is some EINA_ARG_NONNULL that are
missing in some parameters and others that I put that should not be
there, I tried my best to not have these mistakes, if you find
any, please, fix it :).

SVN revision: 55189

src/lib/Elementary.h.in

index 9ae6c1b..49af14a 100644 (file)
@@ -268,17 +268,17 @@ extern "C" {
    EAPI void         elm_edje_collection_cache_set(int size);
    EAPI void         elm_edje_collection_cache_all_set(int size);
 
-   EAPI void         elm_object_scale_set(Evas_Object *obj, double scale);
-   EAPI double       elm_object_scale_get(const Evas_Object *obj);
-   EAPI void         elm_object_style_set(Evas_Object *obj, const char *style);
-   EAPI const char  *elm_object_style_get(const Evas_Object *obj);
-   EAPI void         elm_object_disabled_set(Evas_Object *obj, Eina_Bool disabled);
-   EAPI Eina_Bool    elm_object_disabled_get(const Evas_Object *obj);
-
-   EAPI Eina_Bool    elm_object_widget_check(const Evas_Object *obj);
-   EAPI Evas_Object *elm_object_parent_widget_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_object_top_widget_get(const Evas_Object *obj);
-   EAPI const char  *elm_object_widget_type_get(const Evas_Object *obj);
+   EAPI void         elm_object_scale_set(Evas_Object *obj, double scale) EINA_ARG_NONNULL(1);
+   EAPI double       elm_object_scale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_object_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_disabled_set(Evas_Object *obj, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_object_disabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI Eina_Bool    elm_object_widget_check(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_object_parent_widget_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_object_top_widget_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_object_widget_type_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    EAPI double       elm_scale_get(void);
    EAPI void         elm_scale_set(double scale);
@@ -326,10 +326,10 @@ extern "C" {
    EAPI void                 elm_font_overlay_apply();
    EAPI void                 elm_font_overlay_all_apply();
 
-   EAPI Elm_Font_Properties *elm_font_properties_get(const char *font);
-   EAPI void                 elm_font_properties_free(Elm_Font_Properties *efp);
-   EAPI const char          *elm_font_fontconfig_name_get(const char *name, const char *style);
-   EAPI void                 elm_font_fontconfig_name_free(const char *name);
+   EAPI Elm_Font_Properties *elm_font_properties_get(const char *font) EINA_ARG_NONNULL(1);
+   EAPI void                 elm_font_properties_free(Elm_Font_Properties *efp) EINA_ARG_NONNULL(1);
+   EAPI const char          *elm_font_fontconfig_name_get(const char *name, const char *style) EINA_ARG_NONNULL(1);
+   EAPI void                 elm_font_fontconfig_name_free(const char *name) EINA_ARG_NONNULL(1);
    EAPI Eina_Hash           *elm_font_available_hash_add(Eina_List *list);
    EAPI void                 elm_font_available_hash_del(Eina_Hash *hash);
 
@@ -342,35 +342,35 @@ extern "C" {
    EAPI Eina_Bool    elm_focus_highlight_animate_get(void);
    EAPI void         elm_focus_highlight_animate_set(Eina_Bool animate);
 
-   EAPI Eina_Bool    elm_object_focus_get(const Evas_Object *obj);
-   EAPI void         elm_object_focus(Evas_Object *obj);
-   EAPI void         elm_object_unfocus(Evas_Object *obj);
-   EAPI void         elm_object_focus_allow_set(Evas_Object *obj, Eina_Bool enable);
-   EAPI Eina_Bool    elm_object_focus_allow_get(const Evas_Object *obj);
-
-   EAPI void         elm_object_focus_custom_chain_set(Evas_Object *obj, Eina_List *objs);
-   EAPI void         elm_object_focus_custom_chain_unset(Evas_Object *obj);
-   EAPI const Eina_List *elm_object_focus_custom_chain_get(const Evas_Object *obj);
-   EAPI void         elm_object_focus_custom_chain_append(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child);
-   EAPI void         elm_object_focus_custom_chain_prepend(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child);
-   EAPI void         elm_object_focus_cycle(Evas_Object *obj, Elm_Focus_Direction dir);
-   EAPI void         elm_object_focus_direction_go(Evas_Object *obj, int x, int y);
-
-   EAPI void         elm_object_scroll_hold_push(Evas_Object *obj);
-   EAPI void         elm_object_scroll_hold_pop(Evas_Object *obj);
-   EAPI void         elm_object_scroll_freeze_push(Evas_Object *obj);
-   EAPI void         elm_object_scroll_freeze_pop(Evas_Object *obj);
-   EAPI void         elm_object_scroll_lock_x_set(Evas_Object *obj, Eina_Bool lock);
-   EAPI void         elm_object_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock);
-   EAPI Eina_Bool    elm_object_scroll_lock_x_get(const Evas_Object *obj);
-   EAPI Eina_Bool    elm_object_scroll_lock_y_get(const Evas_Object *obj);
-
-   EAPI void         elm_object_signal_emit(Evas_Object *obj, const char *emission, const char *source);
-   EAPI void         elm_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data);
-   EAPI void        *elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source));
-
-   EAPI void         elm_object_event_callback_add(Evas_Object *obj, Elm_Event_Cb func, const void *data);
-   EAPI void        *elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data);
+   EAPI Eina_Bool    elm_object_focus_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_focus(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_unfocus(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_focus_allow_set(Evas_Object *obj, Eina_Bool enable) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_object_focus_allow_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_object_focus_custom_chain_set(Evas_Object *obj, Eina_List *objs) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_focus_custom_chain_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List *elm_object_focus_custom_chain_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_focus_custom_chain_append(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_object_focus_custom_chain_prepend(Evas_Object *obj, Evas_Object *child, Evas_Object *relative_child) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_object_focus_cycle(Evas_Object *obj, Elm_Focus_Direction dir) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_focus_direction_go(Evas_Object *obj, int x, int y) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_object_scroll_hold_push(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_scroll_hold_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_scroll_freeze_push(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_scroll_freeze_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_scroll_lock_x_set(Evas_Object *obj, Eina_Bool lock) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_scroll_lock_y_set(Evas_Object *obj, Eina_Bool lock) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_object_scroll_lock_x_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_object_scroll_lock_y_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_object_signal_emit(Evas_Object *obj, const char *emission, const char *source) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_signal_callback_add(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source), void *data) EINA_ARG_NONNULL(1, 4);
+   EAPI void        *elm_object_signal_callback_del(Evas_Object *obj, const char *emission, const char *source, void (*func) (void *data, Evas_Object *o, const char *emission, const char *source)) EINA_ARG_NONNULL(1, 4);
+
+   EAPI void         elm_object_event_callback_add(Evas_Object *obj, Elm_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void        *elm_object_event_callback_del(Evas_Object *obj, Elm_Event_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
 
    EAPI void         elm_coords_finger_size_adjust(int times_w, Evas_Coord *w, int times_h, Evas_Coord *h);
 
@@ -409,8 +409,8 @@ extern "C" {
    EAPI Eina_List   *elm_theme_name_available_list_new(void);
    EAPI void         elm_theme_name_available_list_free(Eina_List *list);
 
-   EAPI void         elm_object_theme_set(Evas_Object *obj, Elm_Theme *th);
-   EAPI Elm_Theme   *elm_object_theme_get(const Evas_Object *obj);
+   EAPI void         elm_object_theme_set(Evas_Object *obj, Elm_Theme *th) EINA_ARG_NONNULL(1);
+   EAPI Elm_Theme   *elm_object_theme_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* win */
    typedef enum _Elm_Win_Type
@@ -446,52 +446,52 @@ extern "C" {
      } Elm_Win_Keyboard_Mode;
 
    EAPI Evas_Object *elm_win_add(Evas_Object *parent, const char *name, Elm_Win_Type type);
-   EAPI void         elm_win_resize_object_add(Evas_Object *obj, Evas_Object *subobj);
-   EAPI void         elm_win_resize_object_del(Evas_Object *obj, Evas_Object *subobj);
-   EAPI void         elm_win_title_set(Evas_Object *obj, const char *title);
-   EAPI const char  *elm_win_title_get(const Evas_Object *obj);
-   EAPI void         elm_win_autodel_set(Evas_Object *obj, Eina_Bool autodel);
-   EAPI Eina_Bool    elm_win_autodel_get(const Evas_Object *obj);
-   EAPI void         elm_win_activate(Evas_Object *obj);
-   EAPI void         elm_win_lower(Evas_Object *obj);
-   EAPI void         elm_win_raise(Evas_Object *obj);
-   EAPI void         elm_win_borderless_set(Evas_Object *obj, Eina_Bool borderless);
-   EAPI Eina_Bool    elm_win_borderless_get(const Evas_Object *obj);
-   EAPI void         elm_win_shaped_set(Evas_Object *obj, Eina_Bool shaped);
-   EAPI Eina_Bool    elm_win_shaped_get(const Evas_Object *obj);
-   EAPI void         elm_win_alpha_set(Evas_Object *obj, Eina_Bool alpha);
-   EAPI Eina_Bool    elm_win_transparent_get(const Evas_Object *obj);
-   EAPI void         elm_win_transparent_set(Evas_Object *obj, Eina_Bool transparent);
-   EAPI Eina_Bool    elm_win_alpha_get(const Evas_Object *obj);
-   EAPI void         elm_win_override_set(Evas_Object *obj, Eina_Bool override);
-   EAPI Eina_Bool    elm_win_override_get(const Evas_Object *obj);
-   EAPI void         elm_win_fullscreen_set(Evas_Object *obj, Eina_Bool fullscreen);
-   EAPI Eina_Bool    elm_win_fullscreen_get(const Evas_Object *obj);
-   EAPI void         elm_win_maximized_set(Evas_Object *obj, Eina_Bool maximized);
-   EAPI Eina_Bool    elm_win_maximized_get(const Evas_Object *obj);
-   EAPI void         elm_win_iconified_set(Evas_Object *obj, Eina_Bool iconified);
-   EAPI Eina_Bool    elm_win_iconified_get(const Evas_Object *obj);
-   EAPI void         elm_win_layer_set(Evas_Object *obj, int layer);
-   EAPI int          elm_win_layer_get(const Evas_Object *obj);
-   EAPI void         elm_win_rotation_set(Evas_Object *obj, int rotation);
-   EAPI void         elm_win_rotation_with_resize_set(Evas_Object *obj, int rotation);
-   EAPI int          elm_win_rotation_get(const Evas_Object *obj);
-   EAPI void         elm_win_sticky_set(Evas_Object *obj, Eina_Bool sticky);
-   EAPI Eina_Bool    elm_win_sticky_get(const Evas_Object *obj);
-   EAPI void         elm_win_conformant_set(Evas_Object *obj, Eina_Bool conformant);
-   EAPI Eina_Bool    elm_win_conformant_get(const Evas_Object *obj);
-   EAPI void         elm_win_quickpanel_set(Evas_Object *obj, Eina_Bool quickpanel);
-   EAPI Eina_Bool    elm_win_quickpanel_get(const Evas_Object *obj);
-   EAPI void         elm_win_quickpanel_priority_major_set(Evas_Object *obj, int priority);
-   EAPI int          elm_win_quickpanel_priority_major_get(const Evas_Object *obj);
-   EAPI void         elm_win_quickpanel_priority_minor_set(Evas_Object *obj, int priority);
-   EAPI int          elm_win_quickpanel_priority_minor_get(const Evas_Object *obj);
-   EAPI void         elm_win_quickpanel_zone_set(Evas_Object *obj, int zone);
-   EAPI int          elm_win_quickpanel_zone_get(const Evas_Object *obj);
-   EAPI void         elm_win_focus_highlight_enabled_set(Evas_Object *obj, Eina_Bool enabled);
-   EAPI Eina_Bool    elm_win_focus_highlight_enabled_get(const Evas_Object *obj);
-   EAPI void         elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style);
-   EAPI const char  *elm_win_focus_highlight_style_get(const Evas_Object *obj);
+   EAPI void         elm_win_resize_object_add(Evas_Object *obj, Evas_Object *subobj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_resize_object_del(Evas_Object *obj, Evas_Object *subobj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_title_set(Evas_Object *obj, const char *title) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_win_title_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_autodel_set(Evas_Object *obj, Eina_Bool autodel) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_autodel_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_activate(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_lower(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_raise(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_borderless_set(Evas_Object *obj, Eina_Bool borderless) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_borderless_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_shaped_set(Evas_Object *obj, Eina_Bool shaped) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_shaped_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_alpha_set(Evas_Object *obj, Eina_Bool alpha) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_transparent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_transparent_set(Evas_Object *obj, Eina_Bool transparent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_alpha_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_override_set(Evas_Object *obj, Eina_Bool override) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_override_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_fullscreen_set(Evas_Object *obj, Eina_Bool fullscreen) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_fullscreen_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_maximized_set(Evas_Object *obj, Eina_Bool maximized) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_maximized_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_iconified_set(Evas_Object *obj, Eina_Bool iconified) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_iconified_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_layer_set(Evas_Object *obj, int layer) EINA_ARG_NONNULL(1);
+   EAPI int          elm_win_layer_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_rotation_set(Evas_Object *obj, int rotation) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_rotation_with_resize_set(Evas_Object *obj, int rotation) EINA_ARG_NONNULL(1);
+   EAPI int          elm_win_rotation_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_sticky_set(Evas_Object *obj, Eina_Bool sticky) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_sticky_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_conformant_set(Evas_Object *obj, Eina_Bool conformant) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_conformant_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_quickpanel_set(Evas_Object *obj, Eina_Bool quickpanel) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_quickpanel_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_quickpanel_priority_major_set(Evas_Object *obj, int priority) EINA_ARG_NONNULL(1);
+   EAPI int          elm_win_quickpanel_priority_major_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_quickpanel_priority_minor_set(Evas_Object *obj, int priority) EINA_ARG_NONNULL(1);
+   EAPI int          elm_win_quickpanel_priority_minor_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_quickpanel_zone_set(Evas_Object *obj, int zone) EINA_ARG_NONNULL(1);
+   EAPI int          elm_win_quickpanel_zone_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_focus_highlight_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_focus_highlight_enabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_focus_highlight_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_win_focus_highlight_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /*...
     * ecore_x_icccm_hints_set -> accepts_focus (add to ecore_evas)
     * ecore_x_icccm_hints_set -> window_group (add to ecore_evas)
@@ -505,25 +505,25 @@ extern "C" {
     * (blank mouse, private mouse obj, defaultmouse)
     *
     */
-   EAPI void         elm_win_keyboard_mode_set(Evas_Object *obj, Elm_Win_Keyboard_Mode mode);
-   EAPI Elm_Win_Keyboard_Mode elm_win_keyboard_mode_get(const Evas_Object *obj);
-   EAPI void         elm_win_keyboard_win_set(Evas_Object *obj, Eina_Bool is_keyboard);
-   EAPI Eina_Bool    elm_win_keyboard_win_get(const Evas_Object *obj);
-
-   EAPI void         elm_win_screen_position_get(const Evas_Object *obj, int *x, int *y);
-
-   EAPI Evas_Object *elm_win_inwin_add(Evas_Object *obj);
-   EAPI void         elm_win_inwin_activate(Evas_Object *obj);
-   EAPI void         elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_win_inwin_content_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_win_inwin_content_unset(Evas_Object *obj);
+   EAPI void         elm_win_keyboard_mode_set(Evas_Object *obj, Elm_Win_Keyboard_Mode mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_Win_Keyboard_Mode elm_win_keyboard_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_keyboard_win_set(Evas_Object *obj, Eina_Bool is_keyboard) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_win_keyboard_win_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_win_screen_position_get(const Evas_Object *obj, int *x, int *y) EINA_ARG_NONNULL(1);
+
+   EAPI Evas_Object *elm_win_inwin_add(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_inwin_activate(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_win_inwin_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_win_inwin_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_win_inwin_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* available styles:
     * default
     * minimal
     * minimal_vertical
     */
    /* X specific calls - won't work on non-x engines (return 0) */
-   EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj);
+   EAPI Ecore_X_Window elm_win_xwindow_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "delete,request" - the user requested to delete the window
     * "focus,in" - window got focus
@@ -539,16 +539,16 @@ extern "C" {
       ELM_BG_OPTION_STRETCH,
       ELM_BG_OPTION_TILE
     } Elm_Bg_Option;
-   EAPI Evas_Object *elm_bg_add(Evas_Object *parent);
-   EAPI void         elm_bg_file_set(Evas_Object *obj, const char *file, const char *group);
-   EAPI void         elm_bg_file_get(const Evas_Object *obj, const char **file, const char **group);
-   EAPI void         elm_bg_option_set(Evas_Object *obj, Elm_Bg_Option option);
-   EAPI Elm_Bg_Option elm_bg_option_get(const Evas_Object *obj);
-   EAPI void         elm_bg_color_set(Evas_Object *obj, int r, int g, int b);
-   EAPI void         elm_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b);
-   EAPI void         elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay);
-   EAPI Evas_Object *elm_bg_overlay_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_bg_overlay_unset(Evas_Object *obj);
+   EAPI Evas_Object  *elm_bg_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void          elm_bg_file_set(Evas_Object *obj, const char *file, const char *group) EINA_ARG_NONNULL(1);
+   EAPI void          elm_bg_file_get(const Evas_Object *obj, const char **file, const char **group) EINA_ARG_NONNULL(1);
+   EAPI void          elm_bg_option_set(Evas_Object *obj, Elm_Bg_Option option) EINA_ARG_NONNULL(1);
+   EAPI Elm_Bg_Option elm_bg_option_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void          elm_bg_color_set(Evas_Object *obj, int r, int g, int b) EINA_ARG_NONNULL(1);
+   EAPI void          elm_bg_color_get(const Evas_Object *obj, int *r, int *g, int *b) EINA_ARG_NONNULL(1);
+   EAPI void          elm_bg_overlay_set(Evas_Object *obj, Evas_Object *overlay) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object  *elm_bg_overlay_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object  *elm_bg_overlay_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     */
 
@@ -561,23 +561,23 @@ extern "C" {
         ELM_ICON_LOOKUP_THEME      /**< icon look up order: theme */
      } Elm_Icon_Lookup_Order;
 
-   EAPI Evas_Object          *elm_icon_add(Evas_Object *parent);
-   EAPI Eina_Bool             elm_icon_file_set(Evas_Object *obj, const char *file, const char *group);
-   EAPI void                  elm_icon_file_get(const Evas_Object *obj, const char **file, const char **group);
-   EAPI Eina_Bool             elm_icon_standard_set(Evas_Object *obj, const char *name);
-   EAPI const char           *elm_icon_standard_get(const Evas_Object *obj);
-   EAPI void                  elm_icon_smooth_set(Evas_Object *obj, Eina_Bool smooth);
-   EAPI Eina_Bool             elm_icon_smooth_get(const Evas_Object *obj);
-   EAPI void                  elm_icon_no_scale_set(Evas_Object *obj, Eina_Bool no_scale);
-   EAPI Eina_Bool             elm_icon_no_scale_get(const Evas_Object *obj);
-   EAPI void                  elm_icon_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down);
-   EAPI void                  elm_icon_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down);
-   EAPI void                  elm_icon_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside);
-   EAPI Eina_Bool             elm_icon_fill_outside_get(const Evas_Object *obj);
-   EAPI void                  elm_icon_prescale_set(Evas_Object *obj, int size);
-   EAPI int                   elm_icon_prescale_get(const Evas_Object *obj);
-   EAPI void                  elm_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order);
-   EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj);
+   EAPI Evas_Object          *elm_icon_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_file_set(Evas_Object *obj, const char *file, const char *group) EINA_ARG_NONNULL(1, 2);
+   EAPI void                  elm_icon_file_get(const Evas_Object *obj, const char **file, const char **group) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_standard_set(Evas_Object *obj, const char *name) EINA_ARG_NONNULL(1);
+   EAPI const char           *elm_icon_standard_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_smooth_set(Evas_Object *obj, Eina_Bool smooth) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_no_scale_set(Evas_Object *obj, Eina_Bool no_scale) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_no_scale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_icon_fill_outside_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_prescale_set(Evas_Object *obj, int size) EINA_ARG_NONNULL(1);
+   EAPI int                   elm_icon_prescale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order) EINA_ARG_NONNULL(1);
+   EAPI Elm_Icon_Lookup_Order elm_icon_order_lookup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - the user clicked the icon
     */
@@ -594,24 +594,24 @@ extern "C" {
        ELM_IMAGE_FLIP_TRANSPOSE,
        ELM_IMAGE_FLIP_TRANSVERSE
      } Elm_Image_Orient;
-   EAPI Evas_Object *elm_image_add(Evas_Object *parent);
-   EAPI Eina_Bool    elm_image_file_set(Evas_Object *obj, const char *file, const char *group);
-   EAPI void         elm_image_file_get(const Evas_Object *obj, const char **file, const char **group);
-   EAPI void         elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth);
-   EAPI Eina_Bool    elm_image_smooth_get(const Evas_Object *obj);
-   EAPI void         elm_image_object_size_get(const Evas_Object *obj, int *w, int *h);
-   EAPI void         elm_image_no_scale_set(Evas_Object *obj, Eina_Bool no_scale);
-   EAPI Eina_Bool    elm_image_no_scale_get(const Evas_Object *obj);
-   EAPI void         elm_image_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down);
-   EAPI void         elm_image_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down);
-   EAPI void         elm_image_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside);
-   EAPI Eina_Bool    elm_image_fill_outside_get(const Evas_Object *obj);
-   EAPI void         elm_image_prescale_set(Evas_Object *obj, int size);
-   EAPI int          elm_image_prescale_get(const Evas_Object *obj);
-   EAPI void         elm_image_orient_set(Evas_Object *obj, Elm_Image_Orient orient);
-   EAPI Elm_Image_Orient elm_image_orient_get(const Evas_Object *obj);
-   EAPI void         elm_image_editable_set(Evas_Object *obj, Eina_Bool set);
-   EAPI Eina_Bool    elm_image_editable_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_image_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_image_file_set(Evas_Object *obj, const char *file, const char *group) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_image_file_get(const Evas_Object *obj, const char **file, const char **group) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_smooth_set(Evas_Object *obj, Eina_Bool smooth) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_image_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_object_size_get(const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_no_scale_set(Evas_Object *obj, Eina_Bool no_scale) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_image_no_scale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_scale_set(Evas_Object *obj, Eina_Bool scale_up, Eina_Bool scale_down) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_scale_get(const Evas_Object *obj, Eina_Bool *scale_up, Eina_Bool *scale_down) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_fill_outside_set(Evas_Object *obj, Eina_Bool fill_outside) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_image_fill_outside_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_prescale_set(Evas_Object *obj, int size) EINA_ARG_NONNULL(1);
+   EAPI int          elm_image_prescale_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_orient_set(Evas_Object *obj, Elm_Image_Orient orient) EINA_ARG_NONNULL(1);
+   EAPI Elm_Image_Orient elm_image_orient_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_image_editable_set(Evas_Object *obj, Eina_Bool set) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_image_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - the user clicked the image
     */
@@ -619,44 +619,44 @@ extern "C" {
    /* box */
    typedef struct _Elm_Box_Transition Elm_Box_Transition;
 
-   EAPI Evas_Object *elm_box_add(Evas_Object *parent);
-   EAPI void         elm_box_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool    elm_box_horizontal_get(const Evas_Object *obj);
-   EAPI void         elm_box_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
-   EAPI Eina_Bool    elm_box_homogenous_get(const Evas_Object *obj);
-   EAPI void         elm_box_pack_start(Evas_Object *obj, Evas_Object *subobj);
-   EAPI void         elm_box_pack_end(Evas_Object *obj, Evas_Object *subobj);
-   EAPI void         elm_box_pack_before(Evas_Object *obj, Evas_Object *subobj, Evas_Object *before);
-   EAPI void         elm_box_pack_after(Evas_Object *obj, Evas_Object *subobj, Evas_Object *after);
-   EAPI void         elm_box_clear(Evas_Object *obj);
-   EAPI void         elm_box_unpack(Evas_Object *obj, Evas_Object *subobj);
-   EAPI void         elm_box_unpack_all(Evas_Object *obj);
-   EAPI const Eina_List *elm_box_children_get(const Evas_Object *obj);
-   EAPI void         elm_box_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical);
-   EAPI void         elm_box_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical);
-   EAPI void         elm_box_align_set(Evas_Object *obj, double horizontal, double vertical);
-   EAPI void         elm_box_align_get(const Evas_Object *obj, double *horizontal, double *vertical);
-
-   EAPI void         elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data));
+   EAPI Evas_Object *elm_box_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_box_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_box_homogenous_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_pack_start(Evas_Object *obj, Evas_Object *subobj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_pack_end(Evas_Object *obj, Evas_Object *subobj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_pack_before(Evas_Object *obj, Evas_Object *subobj, Evas_Object *before) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_pack_after(Evas_Object *obj, Evas_Object *subobj, Evas_Object *after) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_unpack(Evas_Object *obj, Evas_Object *subobj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_unpack_all(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List *elm_box_children_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_align_set(Evas_Object *obj, double horizontal, double vertical) EINA_ARG_NONNULL(1);
+   EAPI void         elm_box_align_get(const Evas_Object *obj, double *horizontal, double *vertical) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_box_layout_set(Evas_Object *obj, Evas_Object_Box_Layout cb, const void *data, void (*free_data)(void *data)) EINA_ARG_NONNULL(1);
    EAPI void         elm_box_layout_transition(Evas_Object *obj, Evas_Object_Box_Data *priv, void *data);
-   EAPI Elm_Box_Transition *elm_box_transition_new(const double duration, Evas_Object_Box_Layout start_layout, void *start_layout_data, void(*start_layout_free_data)(void *data), Evas_Object_Box_Layout end_layout, void *end_layout_data, void(*end_layout_free_data)(void *data), void(*transition_end_cb)(void *data), void *transition_end_data);
+   EAPI Elm_Box_Transition *elm_box_transition_new(const double duration, Evas_Object_Box_Layout start_layout, void *start_layout_data, void(*start_layout_free_data)(void *data), Evas_Object_Box_Layout end_layout, void *end_layout_data, void(*end_layout_free_data)(void *data), void(*transition_end_cb)(void *data), void *transition_end_data) EINA_ARG_NONNULL(2, 5);
    EAPI void         elm_box_transition_free(void *data);
    /* smart callbacks called:
     */
 
    /* button */
-   EAPI Evas_Object *elm_button_add(Evas_Object *parent);
-   EAPI void         elm_button_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_button_label_get(const Evas_Object *obj);
-   EAPI void         elm_button_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj);
-   EAPI void         elm_button_autorepeat_set(Evas_Object *obj, Eina_Bool on);
-   EAPI Eina_Bool    elm_button_autorepeat_get(const Evas_Object *obj);
-   EAPI void         elm_button_autorepeat_initial_timeout_set(Evas_Object *obj, double t);
-   EAPI double       elm_button_autorepeat_initial_timeout_get(const Evas_Object *obj);
-   EAPI void         elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t);
-   EAPI double       elm_button_autorepeat_gap_timeout_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_button_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_button_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_button_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_button_autorepeat_set(Evas_Object *obj, Eina_Bool on) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_button_autorepeat_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_button_autorepeat_initial_timeout_set(Evas_Object *obj, double t) EINA_ARG_NONNULL(1);
+   EAPI double       elm_button_autorepeat_initial_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_button_autorepeat_gap_timeout_set(Evas_Object *obj, double t) EINA_ARG_NONNULL(1);
+   EAPI double       elm_button_autorepeat_gap_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* available styles:
     * default
     * anchor
@@ -670,26 +670,26 @@ extern "C" {
     */
 
    /* fileselector */
-   EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent);
-   EAPI void         elm_fileselector_button_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_fileselector_button_label_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_button_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_fileselector_button_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_fileselector_button_icon_unset(Evas_Object *obj);
-   EAPI void         elm_fileselector_button_window_title_set(Evas_Object *obj, const char *title);
-   EAPI const char  *elm_fileselector_button_window_title_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_button_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height);
-   EAPI void         elm_fileselector_button_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height);
-   EAPI void         elm_fileselector_button_path_set(Evas_Object *obj, const char *path);
-   EAPI const char  *elm_fileselector_button_path_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_button_expandable_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_button_expandable_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_button_folder_only_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_button_folder_only_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_button_is_save_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_button_is_save_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_button_inwin_mode_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_button_inwin_mode_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_fileselector_button_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_button_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_fileselector_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_fileselector_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_window_title_set(Evas_Object *obj, const char *title) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_button_window_title_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_path_set(Evas_Object *obj, const char *path) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_button_path_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_expandable_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_button_expandable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_folder_only_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_button_folder_only_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_is_save_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_button_is_save_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_button_inwin_mode_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_button_inwin_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* available styles:
     * default
     * anchor
@@ -701,28 +701,28 @@ extern "C" {
                       as event info
     */
 
-   EAPI Evas_Object *elm_fileselector_entry_add(Evas_Object *parent);
-   EAPI void         elm_fileselector_entry_button_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_fileselector_entry_button_label_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_button_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_fileselector_entry_button_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_fileselector_entry_button_icon_unset(Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_window_title_set(Evas_Object *obj, const char *title);
-   EAPI const char  *elm_fileselector_entry_window_title_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height);
-   EAPI void         elm_fileselector_entry_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height);
-   EAPI void         elm_fileselector_entry_path_set(Evas_Object *obj, const char *path);
-   EAPI const char  *elm_fileselector_entry_path_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_expandable_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_entry_expandable_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_folder_only_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_entry_folder_only_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_is_save_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_entry_is_save_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_inwin_mode_set(Evas_Object *obj, Eina_Bool value);
-   EAPI Eina_Bool    elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_entry_selected_set(Evas_Object *obj, const char *path);
-   EAPI const char  *elm_fileselector_entry_selected_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_fileselector_entry_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_button_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_entry_button_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_button_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_fileselector_entry_button_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_fileselector_entry_button_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_window_title_set(Evas_Object *obj, const char *title) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_entry_window_title_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_window_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_window_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_path_set(Evas_Object *obj, const char *path) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_entry_path_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_expandable_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_entry_expandable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_folder_only_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_entry_folder_only_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_is_save_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_entry_is_save_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_inwin_mode_set(Evas_Object *obj, Eina_Bool value) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_entry_inwin_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_entry_selected_set(Evas_Object *obj, const char *path) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_entry_selected_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* scroller policy */
    typedef enum _Elm_Scroller_Policy
@@ -734,22 +734,22 @@ extern "C" {
      }
    Elm_Scroller_Policy;
 
-   EAPI Evas_Object *elm_scroller_add(Evas_Object *parent);
-   EAPI void         elm_scroller_content_set(Evas_Object *obj, Evas_Object *child);
-   EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj);
-   EAPI void         elm_scroller_custom_widget_base_theme_set(Evas_Object *obj, const char *widget, const char *base);
-   EAPI void         elm_scroller_content_min_limit(Evas_Object *obj, Eina_Bool w, Eina_Bool h);
-   EAPI void         elm_scroller_region_show(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
-   EAPI void         elm_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
-   EAPI void         elm_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
-   EAPI void         elm_scroller_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
-   EAPI void         elm_scroller_child_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
-   EAPI void         elm_scroller_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void         elm_scroller_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void         elm_scroller_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
-   EAPI void         elm_scroller_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
-   EAPI void         elm_scroller_region_bring_in(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h);
+   EAPI Evas_Object *elm_scroller_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_content_set(Evas_Object *obj, Evas_Object *child) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_scroller_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_scroller_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_custom_widget_base_theme_set(Evas_Object *obj, const char *widget, const char *base) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void         elm_scroller_content_min_limit(Evas_Object *obj, Eina_Bool w, Eina_Bool h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_region_show(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_region_get(const Evas_Object *obj, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_child_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scroller_region_bring_in(Evas_Object *obj, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "edge,left"
     * "edge,right"
@@ -763,18 +763,18 @@ extern "C" {
     */
 
    /* label */
-   EAPI Evas_Object *elm_label_add(Evas_Object *parent);
-   EAPI void         elm_label_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_label_label_get(const Evas_Object *obj);
-   EAPI void         elm_label_line_wrap_set(Evas_Object *obj, Eina_Bool wrap);
-   EAPI Eina_Bool    elm_label_line_wrap_get(const Evas_Object *obj);
-   EAPI void         elm_label_wrap_width_set(Evas_Object *obj, Evas_Coord w);
-   EAPI Evas_Coord   elm_label_wrap_width_get(const Evas_Object *obj);
-   EAPI void         elm_label_fontsize_set(Evas_Object *obj, int fontsize);
-   EAPI void         elm_label_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
-   EAPI void         elm_label_text_align_set(Evas_Object *obj, const char *alignmode);
-   EAPI void         elm_label_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a);
-   EAPI void         elm_label_ellipsis_set(Evas_Object *obj, Eina_Bool ellipsis);
+   EAPI Evas_Object *elm_label_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_label_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_line_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_label_line_wrap_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_wrap_width_set(Evas_Object *obj, Evas_Coord w) EINA_ARG_NONNULL(1);
+   EAPI Evas_Coord   elm_label_wrap_width_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_fontsize_set(Evas_Object *obj, int fontsize) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_text_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_text_align_set(Evas_Object *obj, const char *alignmode) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_background_color_set(Evas_Object *obj, unsigned int r, unsigned int g, unsigned int b, unsigned int a) EINA_ARG_NONNULL(1);
+   EAPI void         elm_label_ellipsis_set(Evas_Object *obj, Eina_Bool ellipsis) EINA_ARG_NONNULL(1);
    /* available styles:
     * default
     * marker
@@ -783,28 +783,28 @@ extern "C" {
     */
 
    /* toggle */
-   EAPI Evas_Object *elm_toggle_add(Evas_Object *parent);
-   EAPI void         elm_toggle_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_toggle_label_get(const Evas_Object *obj);
-   EAPI void         elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_toggle_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_toggle_icon_unset(Evas_Object *obj);
-   EAPI void         elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel);
-   EAPI void         elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel);
-   EAPI void         elm_toggle_state_set(Evas_Object *obj, Eina_Bool state);
-   EAPI Eina_Bool    elm_toggle_state_get(const Evas_Object *obj);
-   EAPI void         elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep);
+   EAPI Evas_Object *elm_toggle_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_toggle_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_toggle_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_toggle_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_toggle_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_toggle_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_toggle_states_labels_set(Evas_Object *obj, const char *onlabel, const char *offlabel) EINA_ARG_NONNULL(1);
+   EAPI void         elm_toggle_states_labels_get(const Evas_Object *obj, const char **onlabel, const char **offlabel) EINA_ARG_NONNULL(1);
+   EAPI void         elm_toggle_state_set(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_toggle_state_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_toggle_state_pointer_set(Evas_Object *obj, Eina_Bool *statep) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "changed" - the user toggled the state
     */
 
    /* frame */
-   EAPI Evas_Object *elm_frame_add(Evas_Object *parent);
-   EAPI void         elm_frame_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_frame_label_get(const Evas_Object *obj);
-   EAPI void         elm_frame_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj);
+   EAPI Evas_Object *elm_frame_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_frame_label_set(Evas_Object *obj, const char *label); EINA_ARG_NONNULL(1)
+   EAPI const char  *elm_frame_label_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
+   EAPI void         elm_frame_content_set(Evas_Object *obj, Evas_Object *content); EINA_ARG_NONNULL(1)
+   EAPI Evas_Object *elm_frame_content_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
+   EAPI Evas_Object *elm_frame_content_unset(Evas_Object *obj); EINA_ARG_NONNULL(1)
    /* available styles:
     * default
     * pad_small
@@ -818,14 +818,14 @@ extern "C" {
     */
 
    /* table */
-   EAPI Evas_Object *elm_table_add(Evas_Object *parent);
-   EAPI void         elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
-   EAPI Eina_Bool    elm_table_homogenous_get(const Evas_Object *obj);
-   EAPI void        elm_table_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical);
-   EAPI void         elm_table_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical);
-   EAPI void         elm_table_pack(Evas_Object *obj, Evas_Object *subobj, int x, int y, int w, int h);
-   EAPI void         elm_table_unpack(Evas_Object *obj, Evas_Object *subobj);
-   EAPI void         elm_table_clear(Evas_Object *obj, Eina_Bool clear);
+   EAPI Evas_Object *elm_table_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_table_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_table_homogeneous_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_table_padding_set(Evas_Object *obj, Evas_Coord horizontal, Evas_Coord vertical) EINA_ARG_NONNULL(1);
+   EAPI void         elm_table_padding_get(const Evas_Object *obj, Evas_Coord *horizontal, Evas_Coord *vertical) EINA_ARG_NONNULL(1);
+   EAPI void         elm_table_pack(Evas_Object *obj, Evas_Object *subobj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_table_unpack(Evas_Object *obj, Evas_Object *subobj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_table_clear(Evas_Object *obj, Eina_Bool clear) EINA_ARG_NONNULL(1);
 
    /* gengrid */
    typedef struct _Elm_Gengrid_Item_Class Elm_Gengrid_Item_Class;
@@ -848,64 +848,64 @@ extern "C" {
          } func;
      };
 
-   EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent);
-   EAPI void         elm_gengrid_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h);
-   EAPI void         elm_gengrid_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h);
-   EAPI void         elm_gengrid_align_set(Evas_Object *obj, double align_x, double align_y);
-   EAPI void         elm_gengrid_align_get(const Evas_Object *obj, double *align_x, double *align_y);
-
-   EAPI void        elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
-   EAPI Eina_Bool    elm_gengrid_always_select_mode_get(const Evas_Object *obj);
-   EAPI void        elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
-   EAPI Eina_Bool    elm_gengrid_no_select_mode_get(const Evas_Object *obj);
-   EAPI void        elm_gengrid_multi_select_set(Evas_Object *obj, Eina_Bool multi);
-   EAPI Eina_Bool    elm_gengrid_multi_select_get(const Evas_Object *obj);
-   EAPI void        elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void        elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void         elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel);
-   EAPI void         elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize);
-   EAPI void        elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting);
-
-   EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj);
-   EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj);
-
-   EAPI Elm_Gengrid_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item);
-   EAPI Elm_Gengrid_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item);
-   EAPI Evas_Object      *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_del(Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_update(Elm_Gengrid_Item *item);
-   EAPI void        *elm_gengrid_item_data_get(const Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_data_set(Elm_Gengrid_Item *item, const void *data);
-   EAPI void         elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned int *y);
-   EAPI void         elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected);
-   EAPI Eina_Bool    elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item);
-   EAPI const Evas_Object *elm_gengrid_item_object_get(const Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_show(Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_bring_in(Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_disabled_set(Elm_Gengrid_Item *item, Eina_Bool disabled);
-   EAPI Eina_Bool    elm_gengrid_item_disabled_get(const Elm_Gengrid_Item *item);
-
-   EAPI void         elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text);
-   EAPI void         elm_gengrid_item_tooltip_content_cb_set(Elm_Gengrid_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-   EAPI void         elm_gengrid_item_tooltip_unset(Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_tooltip_style_set(Elm_Gengrid_Item *item, const char *style);
-   EAPI const char  *elm_gengrid_item_tooltip_style_get(const Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_cursor_set(Elm_Gengrid_Item *item, const char *cursor);
-   EAPI const char  *elm_gengrid_item_cursor_get(const Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_cursor_unset(Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_cursor_style_set(Elm_Gengrid_Item *item, const char *style);
-   EAPI const char  *elm_gengrid_item_cursor_style_get(const Elm_Gengrid_Item *item);
-   EAPI void         elm_gengrid_item_cursor_engine_only_set(Elm_Gengrid_Item *item, Eina_Bool engine_only);
-   EAPI Eina_Bool    elm_gengrid_item_cursor_engine_only_get(const Elm_Gengrid_Item *item);
-
-   EAPI void        elm_gengrid_clear(Evas_Object *obj);
-   EAPI Elm_Gengrid_Item *elm_gengrid_selected_item_get(const Evas_Object *obj);
-   EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj);
-
-   EAPI Elm_Gengrid_Item *elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic,  const void *data, Evas_Smart_Cb func, const void *func_data);
-   EAPI Elm_Gengrid_Item *elm_gengrid_item_prepend(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Evas_Smart_Cb func, const void *func_data);
-   EAPI Elm_Gengrid_Item *elm_gengrid_item_insert_before(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data);
-   EAPI Elm_Gengrid_Item *elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data);
+   EAPI Evas_Object *elm_gengrid_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_size_set(Evas_Object *obj, Evas_Coord w, Evas_Coord h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_size_get(const Evas_Object *obj, Evas_Coord *w, Evas_Coord *h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_align_set(Evas_Object *obj, double align_x, double align_y) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_align_get(const Evas_Object *obj, double *align_x, double *align_y) EINA_ARG_NONNULL(1);
+
+   EAPI void        elm_gengrid_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_gengrid_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_gengrid_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_gengrid_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_gengrid_multi_select_set(Evas_Object *obj, Eina_Bool multi) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_gengrid_multi_select_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_gengrid_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void        elm_gengrid_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_page_relative_set(Evas_Object *obj, double h_pagerel, double v_pagerel) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_page_size_set(Evas_Object *obj, Evas_Coord h_pagesize, Evas_Coord v_pagesize) EINA_ARG_NONNULL(1);
+   EAPI void        elm_gengrid_horizontal_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+
+   EAPI Elm_Gengrid_Item *elm_gengrid_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Gengrid_Item *elm_gengrid_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI Elm_Gengrid_Item *elm_gengrid_item_next_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Gengrid_Item *elm_gengrid_item_prev_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *elm_gengrid_item_gengrid_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_del(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_update(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void        *elm_gengrid_item_data_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_data_set(Elm_Gengrid_Item *item, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_pos_get(const Elm_Gengrid_Item *item, unsigned int *x, unsigned int *y) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_selected_set(Elm_Gengrid_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_gengrid_item_selected_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object *elm_gengrid_item_object_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_show(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_bring_in(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_disabled_set(Elm_Gengrid_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_gengrid_item_disabled_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_gengrid_item_tooltip_text_set(Elm_Gengrid_Item *item, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_tooltip_content_cb_set(Elm_Gengrid_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_tooltip_unset(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_tooltip_style_set(Elm_Gengrid_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_gengrid_item_tooltip_style_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_cursor_set(Elm_Gengrid_Item *item, const char *cursor) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_gengrid_item_cursor_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_cursor_unset(Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_cursor_style_set(Elm_Gengrid_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_gengrid_item_cursor_style_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_gengrid_item_cursor_engine_only_set(Elm_Gengrid_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_gengrid_item_cursor_engine_only_get(const Elm_Gengrid_Item *item) EINA_ARG_NONNULL(1);
+
+   EAPI void        elm_gengrid_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Gengrid_Item *elm_gengrid_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List *elm_gengrid_selected_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI Elm_Gengrid_Item *elm_gengrid_item_append(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic,  const void *data, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Gengrid_Item *elm_gengrid_item_prepend(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Gengrid_Item *elm_gengrid_item_insert_before(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Gengrid_Item *elm_gengrid_item_insert_after(Evas_Object *obj, const Elm_Gengrid_Item_Class *gic, const void *data, Elm_Gengrid_Item *relative, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     *
     * selected - User has selected a item.
@@ -939,50 +939,50 @@ extern "C" {
         ELM_CLOCK_ALL         = (1 << 6) - 1
      } Elm_Clock_Digedit;
 
-   EAPI Evas_Object *elm_clock_add(Evas_Object *parent);
-   EAPI void         elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec);
-   EAPI void         elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec);
-   EAPI void         elm_clock_edit_set(Evas_Object *obj, Eina_Bool edit);
-   EAPI Eina_Bool    elm_clock_edit_get(const Evas_Object *obj);
-   EAPI void        elm_clock_digit_edit_set(Evas_Object *obj, Elm_Clock_Digedit digedit);
-   EAPI Elm_Clock_Digedit elm_clock_digit_edit_get(const Evas_Object *obj);
-   EAPI void         elm_clock_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm);
-   EAPI Eina_Bool    elm_clock_show_am_pm_get(const Evas_Object *obj);
-   EAPI void         elm_clock_show_seconds_set(Evas_Object *obj, Eina_Bool seconds);
-   EAPI Eina_Bool    elm_clock_show_seconds_get(const Evas_Object *obj);
-   EAPI void        elm_clock_interval_set(Evas_Object *obj, double interval);
-   EAPI double      elm_clock_interval_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_clock_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_clock_time_set(Evas_Object *obj, int hrs, int min, int sec) EINA_ARG_NONNULL(1);
+   EAPI void         elm_clock_time_get(const Evas_Object *obj, int *hrs, int *min, int *sec) EINA_ARG_NONNULL(1);
+   EAPI void         elm_clock_edit_set(Evas_Object *obj, Eina_Bool edit) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_clock_edit_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_clock_digit_edit_set(Evas_Object *obj, Elm_Clock_Digedit digedit) EINA_ARG_NONNULL(1);
+   EAPI Elm_Clock_Digedit elm_clock_digit_edit_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_clock_show_am_pm_set(Evas_Object *obj, Eina_Bool am_pm) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_clock_show_am_pm_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_clock_show_seconds_set(Evas_Object *obj, Eina_Bool seconds) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_clock_show_seconds_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_clock_interval_set(Evas_Object *obj, double interval) EINA_ARG_NONNULL(1);
+   EAPI double      elm_clock_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "changed" - the user changed the time
     */
 
    /* layout */
-   EAPI Evas_Object *elm_layout_add(Evas_Object *parent);
-   EAPI Eina_Bool    elm_layout_file_set(Evas_Object *obj, const char *file, const char *group);
-   EAPI Eina_Bool    elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style);
-   EAPI void         elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content);
-   EAPI const Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow);
-   EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow);
-   EAPI void         elm_layout_text_set(Evas_Object *obj, const char *part, const char *text);
-   EAPI const char  *elm_layout_text_get(const Evas_Object *obj, const char *part);
-   EAPI void         elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child);
-   EAPI void         elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child);
-   EAPI void         elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference);
-   EAPI void         elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos);
-   EAPI Evas_Object *elm_layout_box_remove(Evas_Object *obj, const char *part, Evas_Object *child);
-   EAPI void         elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear);
-   EAPI void         elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan);
-   EAPI Evas_Object *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj);
-   EAPI void         elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear);
-   EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj);
-   EAPI void         elm_layout_sizing_eval(Evas_Object *obj);
-   EAPI Eina_Bool     elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor);
-   EAPI const char   *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name);
-   EAPI void          elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name);
-   EAPI Eina_Bool     elm_layout_part_cursor_style_set(Evas_Object *obj, const char *part_name, const char *style);
-   EAPI const char   *elm_layout_part_cursor_style_get(const Evas_Object *obj, const char *part_name);
-   EAPI Eina_Bool     elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const char *part_name, Eina_Bool engine_only);
-   EAPI Eina_Bool     elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_name);
+   EAPI Evas_Object *elm_layout_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_layout_file_set(Evas_Object *obj, const char *file, const char *group) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_layout_theme_set(Evas_Object *obj, const char *clas, const char *group, const char *style) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object *elm_layout_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_layout_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_text_set(Evas_Object *obj, const char *part, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_layout_text_get(const Evas_Object *obj, const char *part) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_box_append(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_box_prepend(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_box_insert_before(Evas_Object *obj, const char *part, Evas_Object *child, const Evas_Object *reference) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_box_insert_at(Evas_Object *obj, const char *part, Evas_Object *child, unsigned int pos) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_layout_box_remove(Evas_Object *obj, const char *part, Evas_Object *child) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void         elm_layout_box_remove_all(Evas_Object *obj, const char *part, Eina_Bool clear) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_layout_table_pack(Evas_Object *obj, const char *part, Evas_Object *child_obj, unsigned short col, unsigned short row, unsigned short colspan, unsigned short rowspan) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_layout_table_unpack(Evas_Object *obj, const char *part, Evas_Object *child_obj) EINA_ARG_NONNULL(1, 2, 3);
+   EAPI void         elm_layout_table_clear(Evas_Object *obj, const char *part, Eina_Bool clear) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object *elm_layout_edje_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_layout_sizing_eval(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool     elm_layout_part_cursor_set(Evas_Object *obj, const char *part_name, const char *cursor) EINA_ARG_NONNULL(1, 2);
+   EAPI const char   *elm_layout_part_cursor_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+   EAPI void          elm_layout_part_cursor_unset(Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool     elm_layout_part_cursor_style_set(Evas_Object *obj, const char *part_name, const char *style) EINA_ARG_NONNULL(1, 2);
+   EAPI const char   *elm_layout_part_cursor_style_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool     elm_layout_part_cursor_engine_only_set(Evas_Object *obj, const char *part_name, Eina_Bool engine_only) EINA_ARG_NONNULL(1, 2);
+   EAPI Eina_Bool     elm_layout_part_cursor_engine_only_get(const Evas_Object *obj, const char *part_name) EINA_ARG_NONNULL(1, 2);
 /**
  * @def elm_layout_icon_set
  * Convienience macro to set the icon object in a layout that follows the
@@ -1076,18 +1076,18 @@ extern "C" {
         ELM_NOTIFY_ORIENT_BOTTOM_RIGHT,
         ELM_NOTIFY_ORIENT_LAST
      } Elm_Notify_Orient;
-   EAPI Evas_Object *elm_notify_add(Evas_Object *parent);
-   EAPI void         elm_notify_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj);
-   EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj);
-   EAPI void         elm_notify_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object *elm_notify_parent_get(const Evas_Object *obj);
-   EAPI void         elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient);
-   EAPI Elm_Notify_Orient          elm_notify_orient_get(const Evas_Object *obj);
-   EAPI void         elm_notify_timeout_set(Evas_Object *obj, double timeout);
-   EAPI double       elm_notify_timeout_get(const Evas_Object *obj);
-   EAPI void         elm_notify_repeat_events_set(Evas_Object *obj, Eina_Bool repeat);
-   EAPI Eina_Bool    elm_notify_repeat_events_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_notify_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_notify_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_notify_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_notify_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_notify_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_notify_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_notify_orient_set(Evas_Object *obj, Elm_Notify_Orient orient) EINA_ARG_NONNULL(1);
+   EAPI Elm_Notify_Orient          elm_notify_orient_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_notify_timeout_set(Evas_Object *obj, double timeout) EINA_ARG_NONNULL(1);
+   EAPI double       elm_notify_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_notify_repeat_events_set(Evas_Object *obj, Eina_Bool repeat) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_notify_repeat_events_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "timeout" - when timeout happens on notify and it's hidden
     * "block,clicked" - when it's hidden by a click outside of the notify's view
@@ -1101,15 +1101,15 @@ extern "C" {
          ELM_HOVER_AXIS_VERTICAL,
          ELM_HOVER_AXIS_BOTH
      } Elm_Hover_Axis;
-   EAPI Evas_Object *elm_hover_add(Evas_Object *parent);
-   EAPI void         elm_hover_target_set(Evas_Object *obj, Evas_Object *target);
-   EAPI Evas_Object *elm_hover_target_get(const Evas_Object *obj);
-   EAPI void         elm_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object *elm_hover_parent_get(const Evas_Object *obj);
-   EAPI void         elm_hover_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content);
-   EAPI Evas_Object *elm_hover_content_get(const Evas_Object *obj, const char *swallow);
-   EAPI Evas_Object *elm_hover_content_unset(Evas_Object *obj, const char *swallow);
-   EAPI const char  *elm_hover_best_content_location_get(const Evas_Object *obj, Elm_Hover_Axis pref_axis);
+   EAPI Evas_Object *elm_hover_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hover_target_set(Evas_Object *obj, Evas_Object *target) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hover_target_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hover_content_set(Evas_Object *obj, const char *swallow, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hover_content_get(const Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hover_content_unset(Evas_Object *obj, const char *swallow) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_hover_best_content_location_get(const Evas_Object *obj, Elm_Hover_Axis pref_axis) EINA_ARG_NONNULL(1);
    /* available styles:
     * default
     * popout
@@ -1138,54 +1138,54 @@ extern "C" {
      } Elm_Icon_Type;
    typedef struct _Elm_Hoversel_Item Elm_Hoversel_Item; /**< Item of Elm_Hoversel. Sub-type of Elm_Widget_Item */
   
-   EAPI Evas_Object *elm_entry_add(Evas_Object *parent);
-   EAPI void         elm_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
-   EAPI Eina_Bool    elm_entry_single_line_get(const Evas_Object *obj);
-   EAPI void         elm_entry_password_set(Evas_Object *obj, Eina_Bool password);
-   EAPI Eina_Bool    elm_entry_password_get(const Evas_Object *obj);
-   EAPI void         elm_entry_entry_set(Evas_Object *obj, const char *entry);
-   EAPI const char  *elm_entry_entry_get(const Evas_Object *obj);
-   EAPI const char  *elm_entry_selection_get(const Evas_Object *obj);
-   EAPI void         elm_entry_entry_insert(Evas_Object *obj, const char *entry);
-   EAPI void         elm_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap);
-   EAPI void         elm_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap);
-   EAPI void         elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable);
-   EAPI Eina_Bool    elm_entry_editable_get(const Evas_Object *obj);
-   EAPI void         elm_entry_select_none(Evas_Object *obj);
-   EAPI void         elm_entry_select_all(Evas_Object *obj);
-   EAPI Eina_Bool    elm_entry_cursor_next(Evas_Object *obj);
-   EAPI Eina_Bool    elm_entry_cursor_prev(Evas_Object *obj);
-   EAPI Eina_Bool    elm_entry_cursor_up(Evas_Object *obj);
-   EAPI Eina_Bool    elm_entry_cursor_down(Evas_Object *obj);
-   EAPI void         elm_entry_cursor_begin_set(Evas_Object *obj);
-   EAPI void         elm_entry_cursor_end_set(Evas_Object *obj);
-   EAPI void         elm_entry_cursor_line_begin_set(Evas_Object *obj);
-   EAPI void         elm_entry_cursor_line_end_set(Evas_Object *obj);
-   EAPI void         elm_entry_cursor_selection_begin(Evas_Object *obj);
-   EAPI void         elm_entry_cursor_selection_end(Evas_Object *obj);
-   EAPI Eina_Bool    elm_entry_cursor_is_format_get(const Evas_Object *obj);
-   EAPI Eina_Bool    elm_entry_cursor_is_visible_format_get(const Evas_Object *obj);
-   EAPI const char  *elm_entry_cursor_content_get(const Evas_Object *obj);
-   EAPI void         elm_entry_selection_cut(Evas_Object *obj);
-   EAPI void         elm_entry_selection_copy(Evas_Object *obj);
-   EAPI void         elm_entry_selection_paste(Evas_Object *obj);
-   EAPI void         elm_entry_context_menu_clear(Evas_Object *obj);
-   EAPI void         elm_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
-   EAPI void         elm_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled);
-   EAPI Eina_Bool    elm_entry_context_menu_disabled_get(const Evas_Object *obj);
-   EAPI void         elm_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
-   EAPI void         elm_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
-   EAPI void         elm_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
-   EAPI void         elm_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data);
-   EAPI void         elm_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data);
-   EAPI void         elm_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data);
+   EAPI Evas_Object *elm_entry_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_single_line_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_password_set(Evas_Object *obj, Eina_Bool password) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_password_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_entry_entry_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_entry_selection_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_entry_insert(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_editable_set(Evas_Object *obj, Eina_Bool editable) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_select_none(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_select_all(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_cursor_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_cursor_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_cursor_up(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_cursor_down(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_cursor_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_cursor_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_cursor_line_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_cursor_line_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_cursor_selection_begin(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_cursor_selection_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_cursor_is_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_cursor_is_visible_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_entry_cursor_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_selection_cut(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_selection_copy(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_selection_paste(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_context_menu_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_context_menu_disabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
    EAPI char        *elm_entry_markup_to_utf8(const char *s);
    EAPI char        *elm_entry_utf8_to_markup(const char *s);
-   EAPI void         elm_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format);
-   EAPI void         elm_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format);
-   EAPI void         elm_entry_file_save(Evas_Object *obj);
-   EAPI void         elm_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave);
-   EAPI Eina_Bool    elm_entry_autosave_get(const Evas_Object *obj);
+   EAPI void         elm_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_file_save(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* pre-made filters for entries */
    typedef struct _Elm_Entry_Filter_Limit_Size Elm_Entry_Filter_Limit_Size;
    struct _Elm_Entry_Filter_Limit_Size
@@ -1193,14 +1193,14 @@ extern "C" {
         int max_char_count;
         int max_byte_count;
      };
-   EAPI void         elm_entry_filter_limit_size(void *data, Evas_Object *entry, char **text);
+   EAPI void         elm_entry_filter_limit_size(void *data, Evas_Object *entry, char **text) EINA_ARG_NONNULL(1, 2, 3);
    typedef struct _Elm_Entry_Filter_Accept_Set Elm_Entry_Filter_Accept_Set;
    struct _Elm_Entry_Filter_Accept_Set
      {
         const char *accepted;
         const char *rejected;
      };
-   EAPI void         elm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text);
+   EAPI void         elm_entry_filter_accept_set(void *data, Evas_Object *entry, char **text) EINA_ARG_NONNULL(1, 3);
    /* smart callbacks called:
     * "changed" - the text content changed
     * "selection,start" - the user started selecting text
@@ -1239,20 +1239,20 @@ extern "C" {
        Eina_Bool hover_top : 1;
        Eina_Bool hover_bottom : 1;
      };
-   EAPI Evas_Object *elm_anchorview_add(Evas_Object *parent);
-   EAPI void         elm_anchorview_text_set(Evas_Object *obj, const char *text);
-   EAPI const char  *elm_anchorview_text_get(const Evas_Object *obj);
-
-   EAPI void         elm_anchorview_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object *elm_anchorview_hover_parent_get(const Evas_Object *obj);
-   EAPI void         elm_anchorview_hover_style_set(Evas_Object *obj, const char *style);
-   EAPI const char  *elm_anchorview_hover_style_get(const Evas_Object *obj);
-   EAPI void         elm_anchorview_hover_end(Evas_Object *obj);
-   EAPI void         elm_anchorview_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void         elm_anchorview_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void         elm_anchorview_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorview, const char *item), void *data);
-   EAPI void         elm_anchorview_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorview, const char *item), void *data);
-   EAPI void         elm_anchorview_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorview, const char *item), void *data);
+   EAPI Evas_Object *elm_anchorview_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorview_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_anchorview_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_anchorview_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_anchorview_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorview_hover_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_anchorview_hover_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorview_hover_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorview_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorview_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorview_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorview, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_anchorview_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorview, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_anchorview_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorview, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
    /* smart callbacks called:
     * "anchor,clicked" - achor called was clicked | event_info = Elm_Entry_Anchorview_Info
     */
@@ -1273,46 +1273,46 @@ extern "C" {
        Eina_Bool hover_top : 1;
        Eina_Bool hover_bottom : 1;
      };
-   EAPI Evas_Object *elm_anchorblock_add(Evas_Object *parent);
-   EAPI void         elm_anchorblock_text_set(Evas_Object *obj, const char *text);
-   EAPI const char  *elm_anchorblock_text_get(const Evas_Object *obj);
-   EAPI void         elm_anchorblock_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object *elm_anchorblock_hover_parent_get(const Evas_Object *obj);
-   EAPI void         elm_anchorblock_hover_style_set(Evas_Object *obj, const char *style);
-   EAPI const char  *elm_anchorblock_hover_style_get(const Evas_Object *obj);
-   EAPI void         elm_anchorblock_hover_end(Evas_Object *obj);
-   EAPI void         elm_anchorblock_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data);
-   EAPI void         elm_anchorblock_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data);
-   EAPI void         elm_anchorblock_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data);
+   EAPI Evas_Object *elm_anchorblock_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorblock_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_anchorblock_text_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorblock_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_anchorblock_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorblock_hover_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_anchorblock_hover_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorblock_hover_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_anchorblock_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_anchorblock_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_anchorblock_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *anchorblock, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
    /* smart callbacks called:
     * "anchor,clicked" - achor called was clicked | event_info = Elm_Entry_Anchorblock_Info
     */
 
    /* bubble */
-   EAPI Evas_Object *elm_bubble_add(Evas_Object *parent);
-   EAPI void         elm_bubble_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_bubble_label_get(const Evas_Object *obj);
-   EAPI void         elm_bubble_info_set(Evas_Object *obj, const char *info);
-   EAPI const char  *elm_bubble_info_get(const Evas_Object *obj);
-
-   EAPI void         elm_bubble_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj);
-   EAPI void         elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_bubble_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_bubble_icon_unset(Evas_Object *obj);
-   EAPI void         elm_bubble_corner_set(Evas_Object *obj, const char *corner);
-   EAPI const char*  elm_bubble_corner_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_bubble_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_bubble_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_bubble_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_bubble_info_set(Evas_Object *obj, const char *info) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_bubble_info_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+
+   EAPI void         elm_bubble_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_bubble_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_bubble_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_bubble_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_bubble_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_bubble_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_bubble_corner_set(Evas_Object *obj, const char *corner) EINA_ARG_NONNULL(1, 2);
+   EAPI const char*  elm_bubble_corner_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - the user clicked the bubble
     */
 
    /* photo */
-   EAPI Evas_Object *elm_photo_add(Evas_Object *parent);
-   EAPI Eina_Bool    elm_photo_file_set(Evas_Object *obj, const char *file);
-   EAPI void         elm_photo_size_set(Evas_Object *obj, int size);
-   EAPI void         elm_photo_fill_inside_set(Evas_Object *obj, Eina_Bool fill);
-   EAPI void         elm_photo_editable_set(Evas_Object *obj, Eina_Bool set);
+   EAPI Evas_Object *elm_photo_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_photo_file_set(Evas_Object *obj, const char *file) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photo_size_set(Evas_Object *obj, int size) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photo_fill_inside_set(Evas_Object *obj, Eina_Bool fill) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photo_editable_set(Evas_Object *obj, Eina_Bool set) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - the user clicked the icon
     */
@@ -1326,17 +1326,17 @@ extern "C" {
        ELM_THUMB_ANIMATION_LAST
      } Elm_Thumb_Animation_Setting;
 
-   EAPI Evas_Object *elm_thumb_add(Evas_Object *parent);
-   EAPI void         elm_thumb_reload(Evas_Object *obj);
-   EAPI void        elm_thumb_file_set(Evas_Object *obj, const char *file, const char *key);
-   EAPI void        elm_thumb_file_get(const Evas_Object *obj, const char **file, const char **key);
-   EAPI void        elm_thumb_path_get(const Evas_Object *obj, const char **file, const char **key);
-   EAPI void        elm_thumb_animate_set(Evas_Object *obj, Elm_Thumb_Animation_Setting s);
-   EAPI Elm_Thumb_Animation_Setting elm_thumb_animate_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_thumb_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_thumb_reload(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        elm_thumb_file_set(Evas_Object *obj, const char *file, const char *key) EINA_ARG_NONNULL(1);
+   EAPI void        elm_thumb_file_get(const Evas_Object *obj, const char **file, const char **key) EINA_ARG_NONNULL(1);
+   EAPI void        elm_thumb_path_get(const Evas_Object *obj, const char **file, const char **key) EINA_ARG_NONNULL(1);
+   EAPI void        elm_thumb_animate_set(Evas_Object *obj, Elm_Thumb_Animation_Setting s) EINA_ARG_NONNULL(1);
+   EAPI Elm_Thumb_Animation_Setting elm_thumb_animate_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI struct _Ethumb_Client *elm_thumb_ethumb_client_get(void);
    EAPI Eina_Bool    elm_thumb_ethumb_client_connected(void);
-   EAPI Eina_Bool    elm_thumb_editable_set(Evas_Object *obj, Eina_Bool edit);
-   EAPI Eina_Bool    elm_thumb_editable_get(const Evas_Object *obj);
+   EAPI Eina_Bool    elm_thumb_editable_set(Evas_Object *obj, Eina_Bool edit) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_thumb_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* available styles:
     * default
     * noframe
@@ -1352,28 +1352,28 @@ extern "C" {
     */
   
    /* hoversel */
-   EAPI Evas_Object *elm_hoversel_add(Evas_Object *parent);
-   EAPI void         elm_hoversel_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool    elm_hoversel_horizontal_get(const Evas_Object *obj);
-   EAPI void         elm_hoversel_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object *elm_hoversel_hover_parent_get(const Evas_Object *obj);
-   EAPI void         elm_hoversel_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_hoversel_label_get(const Evas_Object *obj);
-   EAPI void         elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_hoversel_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_hoversel_icon_unset(Evas_Object *obj);
-   EAPI void         elm_hoversel_hover_begin(Evas_Object *obj);
-   EAPI void         elm_hoversel_hover_end(Evas_Object *obj);
-   EAPI Eina_Bool    elm_hoversel_expanded_get(const Evas_Object *obj);
-   EAPI void         elm_hoversel_clear(Evas_Object *obj);
-   EAPI const Eina_List * elm_hoversel_items_get(const Evas_Object *obj);
-   EAPI Elm_Hoversel_Item *elm_hoversel_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
-   EAPI void         elm_hoversel_item_del(Elm_Hoversel_Item *item);
-   EAPI void         elm_hoversel_item_del_cb_set(Elm_Hoversel_Item *it, Evas_Smart_Cb func);
-   EAPI void        *elm_hoversel_item_data_get(const Elm_Hoversel_Item *it);
-   EAPI const char  *elm_hoversel_item_label_get(const Elm_Hoversel_Item *it);
-   EAPI void         elm_hoversel_item_icon_set(Elm_Hoversel_Item *it, const char *icon_file, const char *icon_group, Elm_Icon_Type icon_type);
-   EAPI void         elm_hoversel_item_icon_get(const Elm_Hoversel_Item *it, const char **icon_file, const char **icon_group, Elm_Icon_Type *icon_type);
+   EAPI Evas_Object *elm_hoversel_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_hoversel_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hoversel_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_hoversel_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hoversel_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_hoversel_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_hover_begin(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_hover_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_hoversel_expanded_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List * elm_hoversel_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Hoversel_Item *elm_hoversel_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_item_del(Elm_Hoversel_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_item_del_cb_set(Elm_Hoversel_Item *it, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+   EAPI void        *elm_hoversel_item_data_get(const Elm_Hoversel_Item *it) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_hoversel_item_label_get(const Elm_Hoversel_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_item_icon_set(Elm_Hoversel_Item *it, const char *icon_file, const char *icon_group, Elm_Icon_Type icon_type) EINA_ARG_NONNULL(1);
+   EAPI void         elm_hoversel_item_icon_get(const Elm_Hoversel_Item *it, const char **icon_file, const char **icon_group, Elm_Icon_Type *icon_type) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - the user clicked the hoversel button and popped up the sel
     * "selected" - an item in the hoversel list is selected
@@ -1392,69 +1392,69 @@ extern "C" {
    typedef struct _Elm_Toolbar_Item Elm_Toolbar_Item; /**< Item of Elm_Toolbar. Sub-type of Elm_Widget_Item */
    typedef struct _Elm_Toolbar_Item_State Elm_Toolbar_Item_State; /** State of a Elm_Toolbar_Item */
   
-   EAPI Evas_Object      *elm_toolbar_add(Evas_Object *parent);
-   EAPI void              elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size);
-   EAPI int               elm_toolbar_icon_size_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order);
-   EAPI Elm_Icon_Lookup_Order elm_toolbar_icon_order_lookup_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
-   EAPI Eina_Bool         elm_toolbar_no_select_mode_get(const Evas_Object *obj);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_append(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_prepend(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_insert_before(Evas_Object *obj, Elm_Toolbar_Item *before, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_insert_after(Evas_Object *obj, Elm_Toolbar_Item *after, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_Toolbar_Item *elm_toolbar_first_item_get(const Evas_Object *obj);
-   EAPI Elm_Toolbar_Item *elm_toolbar_last_item_get(const Evas_Object *obj);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_next_get(const Elm_Toolbar_Item *item);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_prev_get(const Elm_Toolbar_Item *item);
-   EAPI Evas_Object      *elm_toolbar_item_toolbar_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_priority_set(Elm_Toolbar_Item *item, int priority);
-   EAPI int               elm_toolbar_item_priority_get(const Elm_Toolbar_Item *item);
-   EAPI const char       *elm_toolbar_item_icon_get(const Elm_Toolbar_Item *item);
-   EAPI const char       *elm_toolbar_item_label_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_label_set(Elm_Toolbar_Item *item, const char *label);
-   EAPI void             *elm_toolbar_item_data_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_data_set(Elm_Toolbar_Item *item, const void *data);
-   EAPI Elm_Toolbar_Item *elm_toolbar_item_find_by_label(const Evas_Object *obj, const char *label);
-   EAPI Eina_Bool         elm_toolbar_item_selected_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_selected_set(Elm_Toolbar_Item *item, Eina_Bool selected);
-   EAPI Elm_Toolbar_Item *elm_toolbar_selected_item_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_item_icon_set(Elm_Toolbar_Item *item, const char *icon);
-   EAPI void              elm_toolbar_item_del(Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_del_cb_set(Elm_Toolbar_Item *item, Evas_Smart_Cb func);
-   EAPI Eina_Bool         elm_toolbar_item_disabled_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_disabled_set(Elm_Toolbar_Item *item, Eina_Bool disabled);
-   EAPI void              elm_toolbar_item_separator_set(Elm_Toolbar_Item *item, Eina_Bool separator);
-   EAPI Eina_Bool         elm_toolbar_item_separator_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_mode_shrink_set(Evas_Object *obj, Elm_Toolbar_Shrink_Mode shrink_mode);
-   EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_mode_shrink_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_homogenous_set(Evas_Object *obj, Eina_Bool homogenous);
-   EAPI Eina_Bool         elm_toolbar_homogenous_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_menu_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object      *elm_toolbar_menu_parent_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_align_set(Evas_Object *obj, double align);
-   EAPI double            elm_toolbar_align_get(const Evas_Object *obj);
-   EAPI void              elm_toolbar_item_menu_set(Elm_Toolbar_Item *item, Eina_Bool menu);
-   EAPI Evas_Object      *elm_toolbar_item_menu_get(Elm_Toolbar_Item *item);
-   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_add(Elm_Toolbar_Item *item, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI Eina_Bool         elm_toolbar_item_state_del(Elm_Toolbar_Item *item, Elm_Toolbar_Item_State *state);
-   EAPI Eina_Bool         elm_toolbar_item_state_set(Elm_Toolbar_Item *it, Elm_Toolbar_Item_State *state);
-   EAPI void              elm_toolbar_item_state_unset(Elm_Toolbar_Item *it);
-   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_get(const Elm_Toolbar_Item *it);
-   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_next(Elm_Toolbar_Item *it);
-   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Toolbar_Item *it);
-   EAPI void              elm_toolbar_item_tooltip_text_set(Elm_Toolbar_Item *item, const char *text);
-   EAPI void              elm_toolbar_item_tooltip_content_cb_set(Elm_Toolbar_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-   EAPI void              elm_toolbar_item_tooltip_unset(Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_tooltip_style_set(Elm_Toolbar_Item *item, const char *style);
-   EAPI const char       *elm_toolbar_item_tooltip_style_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_cursor_set(Elm_Toolbar_Item *item, const char *cursor);
-   EAPI const char       *elm_toolbar_item_cursor_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_cursor_unset(Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_cursor_style_set(Elm_Toolbar_Item *item, const char *style);
-   EAPI const char       *elm_toolbar_item_cursor_style_get(const Elm_Toolbar_Item *item);
-   EAPI void              elm_toolbar_item_cursor_engine_only_set(Elm_Toolbar_Item *item, Eina_Bool engine_only);
-   EAPI Eina_Bool         elm_toolbar_item_cursor_engine_only_get(const Elm_Toolbar_Item *item);
+   EAPI Evas_Object      *elm_toolbar_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_icon_size_set(Evas_Object *obj, int icon_size) EINA_ARG_NONNULL(1);
+   EAPI int               elm_toolbar_icon_size_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_icon_order_lookup_set(Evas_Object *obj, Elm_Icon_Lookup_Order order) EINA_ARG_NONNULL(1);
+   EAPI Elm_Icon_Lookup_Order elm_toolbar_icon_order_lookup_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_append(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_prepend(Evas_Object *obj, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_insert_before(Evas_Object *obj, Elm_Toolbar_Item *before, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_insert_after(Evas_Object *obj, Elm_Toolbar_Item *after, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_next_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_prev_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *elm_toolbar_item_toolbar_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_priority_set(Elm_Toolbar_Item *item, int priority) EINA_ARG_NONNULL(1);
+   EAPI int               elm_toolbar_item_priority_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_toolbar_item_icon_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_toolbar_item_label_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_label_set(Elm_Toolbar_Item *item, const char *label) EINA_ARG_NONNULL(1);
+   EAPI void             *elm_toolbar_item_data_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_data_set(Elm_Toolbar_Item *item, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_item_find_by_label(const Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_item_selected_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_selected_set(Elm_Toolbar_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item *elm_toolbar_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_icon_set(Elm_Toolbar_Item *item, const char *icon) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_del(Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_del_cb_set(Elm_Toolbar_Item *item, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_item_disabled_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_disabled_set(Elm_Toolbar_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_separator_set(Elm_Toolbar_Item *item, Eina_Bool separator) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_item_separator_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_mode_shrink_set(Evas_Object *obj, Elm_Toolbar_Shrink_Mode shrink_mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Shrink_Mode elm_toolbar_mode_shrink_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_homogenous_set(Evas_Object *obj, Eina_Bool homogenous) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_homogenous_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_menu_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *elm_toolbar_menu_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_align_set(Evas_Object *obj, double align) EINA_ARG_NONNULL(1);
+   EAPI double            elm_toolbar_align_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_menu_set(Elm_Toolbar_Item *item, Eina_Bool menu) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *elm_toolbar_item_menu_get(Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_add(Elm_Toolbar_Item *item, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_item_state_del(Elm_Toolbar_Item *item, Elm_Toolbar_Item_State *state) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_item_state_set(Elm_Toolbar_Item *it, Elm_Toolbar_Item_State *state) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_state_unset(Elm_Toolbar_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_get(const Elm_Toolbar_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_next(Elm_Toolbar_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Toolbar_Item_State *elm_toolbar_item_state_prev(Elm_Toolbar_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_tooltip_text_set(Elm_Toolbar_Item *item, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_tooltip_content_cb_set(Elm_Toolbar_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_tooltip_unset(Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_tooltip_style_set(Elm_Toolbar_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_toolbar_item_tooltip_style_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_cursor_set(Elm_Toolbar_Item *item, const char *cursor) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_toolbar_item_cursor_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_cursor_unset(Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_cursor_style_set(Elm_Toolbar_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_toolbar_item_cursor_style_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_toolbar_item_cursor_engine_only_set(Elm_Toolbar_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_toolbar_item_cursor_engine_only_get(const Elm_Toolbar_Item *item) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - when the user clicks on a toolbar item and becomes selected
     */
@@ -1466,45 +1466,45 @@ extern "C" {
    /* tooltip */
    EAPI double       elm_tooltip_delay_get(void);
    EAPI Eina_Bool    elm_tooltip_delay_set(double delay);
-   EAPI void         elm_object_tooltip_show(Evas_Object *obj);
-   EAPI void         elm_object_tooltip_hide(Evas_Object *obj);
-   EAPI void         elm_object_tooltip_text_set(Evas_Object *obj, const char *text);
-   EAPI void         elm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-   EAPI void         elm_object_tooltip_unset(Evas_Object *obj);
-   EAPI void         elm_object_tooltip_style_set(Evas_Object *obj, const char *style);
-   EAPI const char  *elm_object_tooltip_style_get(const Evas_Object *obj);
-   EAPI void         elm_object_cursor_set(Evas_Object *obj, const char *cursor);
-   EAPI const char  *elm_object_cursor_get(const Evas_Object *obj);
-   EAPI void         elm_object_cursor_unset(Evas_Object *obj);
-   EAPI void         elm_object_cursor_style_set(Evas_Object *obj, const char *style);
-   EAPI const char  *elm_object_cursor_style_get(const Evas_Object *obj);
-   EAPI void         elm_object_cursor_engine_only_set(Evas_Object *obj, Eina_Bool engine_only);
-   EAPI Eina_Bool    elm_object_cursor_engine_only_get(const Evas_Object *obj);
+   EAPI void         elm_object_tooltip_show(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_tooltip_hide(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_tooltip_text_set(Evas_Object *obj, const char *text) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_object_tooltip_content_cb_set(Evas_Object *obj, Elm_Tooltip_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_tooltip_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_tooltip_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_object_tooltip_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_cursor_set(Evas_Object *obj, const char *cursor) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_object_cursor_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_cursor_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_cursor_style_set(Evas_Object *obj, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_object_cursor_style_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_object_cursor_engine_only_set(Evas_Object *obj, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_object_cursor_engine_only_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI int          elm_cursor_engine_only_get(void);
    EAPI Eina_Bool    elm_cursor_engine_only_set(int engine_only);
 
    /* menu */
    typedef struct _Elm_Menu_Item Elm_Menu_Item; /**< Item of Elm_Menu. Sub-type of Elm_Widget_Item */
-   EAPI Evas_Object       *elm_menu_add(Evas_Object *parent);
-   EAPI void               elm_menu_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object       *elm_menu_parent_get(const Evas_Object *obj);
-   EAPI void               elm_menu_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y);
-   EAPI Evas_Object       *elm_menu_object_get(const Elm_Menu_Item *it);
-   EAPI Elm_Menu_Item     *elm_menu_item_add(Evas_Object *obj, Elm_Menu_Item *parent, const char *icon, const char *label, Evas_Smart_Cb func, const void *data);
-   EAPI void               elm_menu_item_label_set(Elm_Menu_Item *item, const char *label);
-   EAPI const char        *elm_menu_item_label_get(const Elm_Menu_Item *item);
-   EAPI void               elm_menu_item_icon_set(Elm_Menu_Item *item, const char *icon);
-   EAPI const char        *elm_menu_item_icon_get(const Elm_Menu_Item *item);
-   EAPI const Evas_Object *elm_menu_item_object_icon_get(const Elm_Menu_Item *item);
-   EAPI void               elm_menu_item_disabled_set(Elm_Menu_Item *item, Eina_Bool disabled);
-   EAPI Eina_Bool          elm_menu_item_disabled_get(const Elm_Menu_Item *item);
-   EAPI Elm_Menu_Item     *elm_menu_item_separator_add(Evas_Object *obj, Elm_Menu_Item *parent);
-   EAPI Eina_Bool          elm_menu_item_is_separator(Elm_Menu_Item *item);
-   EAPI void               elm_menu_item_del(Elm_Menu_Item *item);
-   EAPI void               elm_menu_item_del_cb_set(Elm_Menu_Item *it, Evas_Smart_Cb func);
-   EAPI void              *elm_menu_item_data_get(const Elm_Menu_Item *it);
-   EAPI void               elm_menu_item_data_set(Elm_Menu_Item *item, const void *data);
-   EAPI const Eina_List   *elm_menu_item_subitems_get(const Elm_Menu_Item *item);
+   EAPI Evas_Object       *elm_menu_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object       *elm_menu_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_move(Evas_Object *obj, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object       *elm_menu_object_get(const Elm_Menu_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_Menu_Item     *elm_menu_item_add(Evas_Object *obj, Elm_Menu_Item *parent, const char *icon, const char *label, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_item_label_set(Elm_Menu_Item *item, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char        *elm_menu_item_label_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_item_icon_set(Elm_Menu_Item *item, const char *icon) EINA_ARG_NONNULL(1, 2);
+   EAPI const char        *elm_menu_item_icon_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object *elm_menu_item_object_icon_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_item_disabled_set(Elm_Menu_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool          elm_menu_item_disabled_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Menu_Item     *elm_menu_item_separator_add(Evas_Object *obj, Elm_Menu_Item *parent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool          elm_menu_item_is_separator(Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_item_del(Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_item_del_cb_set(Elm_Menu_Item *it, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+   EAPI void              *elm_menu_item_data_get(const Elm_Menu_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void               elm_menu_item_data_set(Elm_Menu_Item *item, const void *data) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List   *elm_menu_item_subitems_get(const Elm_Menu_Item *item) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - the user clicked the empty space in the menu to dismiss. event_info is NULL.
     */
@@ -1519,61 +1519,61 @@ extern "C" {
        ELM_LIST_LAST
      } Elm_List_Mode;
    typedef struct _Elm_List_Item Elm_List_Item; /**< Item of Elm_List. Sub-type of Elm_Widget_Item */
-   EAPI Evas_Object     *elm_list_add(Evas_Object *parent);
-   EAPI Elm_List_Item   *elm_list_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_List_Item   *elm_list_item_prepend(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_List_Item   *elm_list_item_insert_before(Evas_Object *obj, Elm_List_Item *before, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_List_Item   *elm_list_item_insert_after(Evas_Object *obj, Elm_List_Item *after, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data);
-   EAPI Elm_List_Item   *elm_list_item_sorted_insert(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func);
-   EAPI void             elm_list_clear(Evas_Object *obj);
-   EAPI void             elm_list_go(Evas_Object *obj);
-   EAPI void             elm_list_multi_select_set(Evas_Object *obj, Eina_Bool multi);
-   EAPI Eina_Bool        elm_list_multi_select_get(const Evas_Object *obj);
-   EAPI void             elm_list_mode_set(Evas_Object *obj, Elm_List_Mode mode);
-   EAPI Elm_List_Mode    elm_list_mode_get(const Evas_Object *obj);
-   EAPI void             elm_list_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool        elm_list_horizontal_get(const Evas_Object *obj);
-   EAPI void             elm_list_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
-   EAPI Eina_Bool       elm_list_always_select_mode_get(const Evas_Object *obj);
-   EAPI const Eina_List *elm_list_items_get(const Evas_Object *obj);
-   EAPI Elm_List_Item   *elm_list_selected_item_get(const Evas_Object *obj);
-   EAPI const Eina_List *elm_list_selected_items_get(const Evas_Object *obj);
-   EAPI void             elm_list_item_separator_set(Elm_List_Item *it, Eina_Bool setting);
-   EAPI Eina_Bool        elm_list_item_separator_get(const Elm_List_Item *it);
-   EAPI void             elm_list_item_selected_set(Elm_List_Item *item, Eina_Bool selected);
-   EAPI Eina_Bool        elm_list_item_selected_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_show(Elm_List_Item *item);
-   EAPI void             elm_list_item_bring_in(Elm_List_Item *item);
-   EAPI void             elm_list_item_del(Elm_List_Item *item);
-   EAPI void             elm_list_item_del_cb_set(Elm_List_Item *item, Evas_Smart_Cb func);
-   EAPI void            *elm_list_item_data_get(const Elm_List_Item *item);
-   EAPI Evas_Object     *elm_list_item_icon_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_icon_set(Elm_List_Item *item, Evas_Object *icon);
-   EAPI Evas_Object     *elm_list_item_end_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_end_set(Elm_List_Item *item, Evas_Object *end);
-   EAPI Evas_Object     *elm_list_item_base_get(const Elm_List_Item *item);
-   EAPI const char      *elm_list_item_label_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_label_set(Elm_List_Item *item, const char *text);
-   EAPI Elm_List_Item   *elm_list_item_prev(const Elm_List_Item *it);
-   EAPI Elm_List_Item   *elm_list_item_next(const Elm_List_Item *it);
-   EAPI void             elm_list_item_tooltip_text_set(Elm_List_Item *item, const char *text);
-   EAPI void             elm_list_item_tooltip_content_cb_set(Elm_List_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-   EAPI void             elm_list_item_tooltip_unset(Elm_List_Item *item);
-   EAPI void             elm_list_item_tooltip_style_set(Elm_List_Item *item, const char *style);
-   EAPI const char      *elm_list_item_tooltip_style_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_cursor_set(Elm_List_Item *item, const char *cursor);
-   EAPI const char      *elm_list_item_cursor_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_cursor_unset(Elm_List_Item *item);
-   EAPI void             elm_list_item_cursor_style_set(Elm_List_Item *item, const char *style);
-   EAPI const char      *elm_list_item_cursor_style_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_cursor_engine_only_set(Elm_List_Item *item, Eina_Bool engine_only);
-   EAPI Eina_Bool        elm_list_item_cursor_engine_only_get(const Elm_List_Item *item);
-   EAPI void             elm_list_item_disabled_set(Elm_List_Item *it, Eina_Bool disabled);
-   EAPI Eina_Bool        elm_list_item_disabled_get(const Elm_List_Item *it);
-   EAPI void             elm_list_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void             elm_list_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void             elm_list_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
-   EAPI void             elm_list_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
+   EAPI Evas_Object     *elm_list_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Item   *elm_list_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Item   *elm_list_item_prepend(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Item   *elm_list_item_insert_before(Evas_Object *obj, Elm_List_Item *before, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI Elm_List_Item   *elm_list_item_insert_after(Evas_Object *obj, Elm_List_Item *after, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI Elm_List_Item   *elm_list_item_sorted_insert(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Object *end, Evas_Smart_Cb func, const void *data, Eina_Compare_Cb cmp_func) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_go(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_multi_select_set(Evas_Object *obj, Eina_Bool multi) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_list_multi_select_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_mode_set(Evas_Object *obj, Elm_List_Mode mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Mode    elm_list_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_list_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool       elm_list_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List *elm_list_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Item   *elm_list_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List *elm_list_selected_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_separator_set(Elm_List_Item *it, Eina_Bool setting) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_list_item_separator_get(const Elm_List_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_selected_set(Elm_List_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_list_item_selected_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_show(Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_bring_in(Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_del(Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_del_cb_set(Elm_List_Item *item, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+   EAPI void            *elm_list_item_data_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object     *elm_list_item_icon_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_icon_set(Elm_List_Item *item, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object     *elm_list_item_end_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_end_set(Elm_List_Item *item, Evas_Object *end) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object     *elm_list_item_base_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI const char      *elm_list_item_label_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_label_set(Elm_List_Item *item, const char *text) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Item   *elm_list_item_prev(const Elm_List_Item *it) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Item   *elm_list_item_next(const Elm_List_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_tooltip_text_set(Elm_List_Item *item, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_tooltip_content_cb_set(Elm_List_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_tooltip_unset(Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_tooltip_style_set(Elm_List_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char      *elm_list_item_tooltip_style_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_cursor_set(Elm_List_Item *item, const char *cursor) EINA_ARG_NONNULL(1);
+   EAPI const char      *elm_list_item_cursor_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_cursor_unset(Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_cursor_style_set(Elm_List_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char      *elm_list_item_cursor_style_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_cursor_engine_only_set(Elm_List_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_list_item_cursor_engine_only_get(const Elm_List_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_item_disabled_set(Elm_List_Item *it, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool        elm_list_item_disabled_get(const Elm_List_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v) EINA_ARG_NONNULL(1);
+   EAPI void             elm_list_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - when the user double-clicked an item
     * "selected" - when the user selected an item
@@ -1586,32 +1586,32 @@ extern "C" {
     */
 
    /* slider */
-   EAPI Evas_Object       *elm_slider_add(Evas_Object *parent);
-   EAPI void               elm_slider_label_set(Evas_Object *obj, const char *label);
-   EAPI const char        *elm_slider_label_get(const Evas_Object *obj);
-   EAPI void               elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object       *elm_slider_icon_unset(Evas_Object *obj);
-   EAPI Evas_Object       *elm_slider_icon_get(const Evas_Object *obj);
-   EAPI void               elm_slider_end_set(Evas_Object *obj, Evas_Object *end);
-   EAPI Evas_Object       *elm_slider_end_unset(Evas_Object *obj);
-   EAPI Evas_Object       *elm_slider_end_get(const Evas_Object *obj);
-   EAPI void               elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size);
-   EAPI Evas_Coord         elm_slider_span_size_get(const Evas_Object *obj);
-   EAPI void               elm_slider_unit_format_set(Evas_Object *obj, const char *format);
-   EAPI const char        *elm_slider_unit_format_get(const Evas_Object *obj);
-   EAPI void               elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator);
-   EAPI const char        *elm_slider_indicator_format_get(const Evas_Object *obj);
-   EAPI void               elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(double val));
-   EAPI void               elm_slider_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool          elm_slider_horizontal_get(const Evas_Object *obj);
-   EAPI void               elm_slider_min_max_set(Evas_Object *obj, double min, double max);
-   EAPI void               elm_slider_min_max_get(const Evas_Object *obj, double *min, double *max);
-   EAPI void               elm_slider_value_set(Evas_Object *obj, double val);
-   EAPI double             elm_slider_value_get(const Evas_Object *obj);
-   EAPI void               elm_slider_inverted_set(Evas_Object *obj, Eina_Bool inverted);
-   EAPI Eina_Bool          elm_slider_inverted_get(const Evas_Object *obj);
-   EAPI void               elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show);
-   EAPI Eina_Bool          elm_slider_indicator_show_get(const Evas_Object *obj);
+   EAPI Evas_Object       *elm_slider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char        *elm_slider_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object       *elm_slider_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_slider_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object       *elm_slider_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_slider_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_span_size_set(Evas_Object *obj, Evas_Coord size) EINA_ARG_NONNULL(1);
+   EAPI Evas_Coord         elm_slider_span_size_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_unit_format_set(Evas_Object *obj, const char *format) EINA_ARG_NONNULL(1);
+   EAPI const char        *elm_slider_unit_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_indicator_format_set(Evas_Object *obj, const char *indicator) EINA_ARG_NONNULL(1);
+   EAPI const char        *elm_slider_indicator_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_indicator_format_function_set(Evas_Object *obj, const char *(*func)(double val)) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool          elm_slider_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_min_max_set(Evas_Object *obj, double min, double max) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_min_max_get(const Evas_Object *obj, double *min, double *max) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_value_set(Evas_Object *obj, double val) EINA_ARG_NONNULL(1);
+   EAPI double             elm_slider_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_inverted_set(Evas_Object *obj, Eina_Bool inverted) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool          elm_slider_inverted_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void               elm_slider_indicator_show_set(Evas_Object *obj, Eina_Bool show) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool          elm_slider_indicator_show_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* actionslider */
    typedef enum _Elm_Actionslider_Pos
@@ -1623,16 +1623,16 @@ extern "C" {
         ELM_ACTIONSLIDER_ALL = (1 << 3) -1
      } Elm_Actionslider_Pos;
 
-   EAPI Evas_Object          *elm_actionslider_add(Evas_Object *parent);
-   EAPI void                  elm_actionslider_labels_set(Evas_Object *obj, const char *left_label, const char *center_label, const char *right_label);
-   EAPI void                  elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, const char **center_label, const char **right_label);
-   EAPI const char           *elm_actionslider_selected_label_get(const Evas_Object *obj);
-   EAPI void                  elm_actionslider_indicator_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos);
-   EAPI Elm_Actionslider_Pos  elm_actionslider_indicator_pos_get(const Evas_Object *obj);
-   EAPI void                  elm_actionslider_magnet_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos);
-   EAPI Elm_Actionslider_Pos  elm_actionslider_magnet_pos_get(const Evas_Object *obj);
-   EAPI void                  elm_actionslider_enabled_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos);
-   EAPI Elm_Actionslider_Pos  elm_actionslider_enabled_pos_get(const Evas_Object *obj);
+   EAPI Evas_Object          *elm_actionslider_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_actionslider_labels_set(Evas_Object *obj, const char *left_label, const char *center_label, const char *right_label) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_actionslider_labels_get(const Evas_Object *obj, const char **left_label, const char **center_label, const char **right_label) EINA_ARG_NONNULL(1);
+   EAPI const char           *elm_actionslider_selected_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_actionslider_indicator_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos) EINA_ARG_NONNULL(1);
+   EAPI Elm_Actionslider_Pos  elm_actionslider_indicator_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_actionslider_magnet_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos) EINA_ARG_NONNULL(1);
+   EAPI Elm_Actionslider_Pos  elm_actionslider_magnet_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_actionslider_enabled_pos_set(Evas_Object *obj, Elm_Actionslider_Pos pos) EINA_ARG_NONNULL(1);
+   EAPI Elm_Actionslider_Pos  elm_actionslider_enabled_pos_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "selected" - when user selects a position (the label is passed as
     * event info)".
@@ -1665,42 +1665,42 @@ extern "C" {
         } func;
      };
 
-   EAPI Evas_Object      *elm_genlist_add(Evas_Object *parent);
-   EAPI void              elm_genlist_clear(Evas_Object *obj);
-   EAPI void              elm_genlist_multi_select_set(Evas_Object *obj, Eina_Bool multi);
-   EAPI Eina_Bool         elm_genlist_multi_select_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode);
-   EAPI Elm_List_Mode     elm_genlist_horizontal_mode_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select);
-   EAPI Eina_Bool         elm_genlist_always_select_mode_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select);
-   EAPI Eina_Bool         elm_genlist_no_select_mode_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_compress_mode_set(Evas_Object *obj, Eina_Bool compress);
-   EAPI Eina_Bool         elm_genlist_compress_mode_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_height_for_width_mode_set(Evas_Object *obj, Eina_Bool height_for_width);
-   EAPI Eina_Bool         elm_genlist_height_for_width_mode_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void              elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous);
-   EAPI Eina_Bool         elm_genlist_homogeneous_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_block_count_set(Evas_Object *obj, int n);
-   EAPI int               elm_genlist_block_count_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_longpress_timeout_set(Evas_Object *obj, double timeout);
-   EAPI double            elm_genlist_longpress_timeout_get(const Evas_Object *obj);
+   EAPI Evas_Object      *elm_genlist_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_multi_select_set(Evas_Object *obj, Eina_Bool multi) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_multi_select_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_horizontal_mode_set(Evas_Object *obj, Elm_List_Mode mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_List_Mode     elm_genlist_horizontal_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_always_select_mode_set(Evas_Object *obj, Eina_Bool always_select) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_always_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_no_select_mode_set(Evas_Object *obj, Eina_Bool no_select) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_no_select_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_compress_mode_set(Evas_Object *obj, Eina_Bool compress) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_compress_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_height_for_width_mode_set(Evas_Object *obj, Eina_Bool height_for_width) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_height_for_width_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_homogeneous_set(Evas_Object *obj, Eina_Bool homogeneous) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_homogeneous_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_block_count_set(Evas_Object *obj, int n) EINA_ARG_NONNULL(1);
+   EAPI int               elm_genlist_block_count_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_longpress_timeout_set(Evas_Object *obj, double timeout) EINA_ARG_NONNULL(1);
+   EAPI double            elm_genlist_longpress_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* operations to add items */
-   EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
-   EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
-   EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
-   EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data);
+   EAPI Elm_Genlist_Item *elm_genlist_item_append(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_item_prepend(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *parent, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_item_insert_before(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *before, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 4);
+   EAPI Elm_Genlist_Item *elm_genlist_item_insert_after(Evas_Object *obj, const Elm_Genlist_Item_Class *itc, const void *data, Elm_Genlist_Item *after, Elm_Genlist_Item_Flags flags, Evas_Smart_Cb func, const void *func_data) EINA_ARG_NONNULL(1, 4);
    /* operations to retrieve existing items */
-   EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object *obj);
-   EAPI const Eina_List  *elm_genlist_selected_items_get(const Evas_Object *obj);
-   EAPI Eina_List        *elm_genlist_realized_items_get(const Evas_Object *obj);
-   EAPI Elm_Genlist_Item *elm_genlist_at_xy_item_get(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *posret);
-   EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj);
-   EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj);
-   EAPI void              elm_genlist_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
-   EAPI void              elm_genlist_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
+   EAPI Elm_Genlist_Item *elm_genlist_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List  *elm_genlist_selected_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_List        *elm_genlist_realized_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_at_xy_item_get(const Evas_Object *obj, Evas_Coord x, Evas_Coord y, int *posret) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1);
    /* available item styles:
     * default
     * default_style - The text part is a textblock
@@ -1708,78 +1708,78 @@ extern "C" {
     * icon_top_text_bottom
     */
    /* Genlist Item operation */
-   EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item);
-   EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item);
-   EAPI Evas_Object      *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item);
-   EAPI Elm_Genlist_Item *elm_genlist_item_parent_get(const Elm_Genlist_Item *it);
-   EAPI void              elm_genlist_item_subitems_clear(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected);
-   EAPI Eina_Bool         elm_genlist_item_selected_get(const Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_expanded_set(Elm_Genlist_Item *item, Eina_Bool expanded);
-   EAPI Eina_Bool         elm_genlist_item_expanded_get(const Elm_Genlist_Item *item);
-   EAPI int               elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it);
-   EAPI void              elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Eina_Bool disabled);
-   EAPI Eina_Bool         elm_genlist_item_disabled_get(const Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_display_only_set(Elm_Genlist_Item *it, Eina_Bool display_only);
-   EAPI Eina_Bool         elm_genlist_item_display_only_get(const Elm_Genlist_Item *it);
-   EAPI void              elm_genlist_item_show(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_bring_in(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_top_show(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_top_bring_in(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_middle_show(Elm_Genlist_Item *it);
-   EAPI void              elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it);
-   EAPI void              elm_genlist_item_del(Elm_Genlist_Item *item);
-   EAPI void             *elm_genlist_item_data_get(const Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_data_set(Elm_Genlist_Item *it, const void *data);
-   EAPI void              elm_genlist_item_icons_orphan(Elm_Genlist_Item *it);
-   EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it);
-   EAPI void              elm_genlist_item_update(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_item_class_update(Elm_Genlist_Item *it, const Elm_Genlist_Item_Class *itc);
-   EAPI void              elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text);
-   EAPI void              elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-   EAPI void              elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item, const char *style);
-   EAPI const char       *elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_cursor_set(Elm_Genlist_Item *item, const char *cursor);
-   EAPI const char       *elm_genlist_item_cursor_get(const Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_cursor_unset(Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item, const char *style);
-   EAPI const char       *elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item);
-   EAPI void              elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, Eina_Bool engine_only);
-   EAPI Eina_Bool         elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item);
+   EAPI Elm_Genlist_Item *elm_genlist_item_next_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_item_prev_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object      *elm_genlist_item_genlist_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Genlist_Item *elm_genlist_item_parent_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_subitems_clear(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_selected_set(Elm_Genlist_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_item_selected_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_expanded_set(Elm_Genlist_Item *item, Eina_Bool expanded) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_item_expanded_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI int               elm_genlist_item_expanded_depth_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_disabled_set(Elm_Genlist_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_item_disabled_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_display_only_set(Elm_Genlist_Item *it, Eina_Bool display_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_item_display_only_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_show(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_bring_in(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_top_show(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_top_bring_in(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_middle_show(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_middle_bring_in(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_del(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void             *elm_genlist_item_data_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_data_set(Elm_Genlist_Item *it, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_icons_orphan(Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI const Evas_Object *elm_genlist_item_object_get(const Elm_Genlist_Item *it) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_update(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_item_class_update(Elm_Genlist_Item *it, const Elm_Genlist_Item_Class *itc) EINA_ARG_NONNULL(1, 2);
+   EAPI void              elm_genlist_item_tooltip_text_set(Elm_Genlist_Item *item, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_tooltip_content_cb_set(Elm_Genlist_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_tooltip_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_tooltip_style_set(Elm_Genlist_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_genlist_item_tooltip_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_cursor_set(Elm_Genlist_Item *item, const char *cursor) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_genlist_item_cursor_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_cursor_unset(Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_cursor_style_set(Elm_Genlist_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char       *elm_genlist_item_cursor_style_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void              elm_genlist_item_cursor_engine_only_set(Elm_Genlist_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool         elm_genlist_item_cursor_engine_only_get(const Elm_Genlist_Item *item) EINA_ARG_NONNULL(1);
 
    /* check */
-   EAPI Evas_Object *elm_check_add(Evas_Object *parent);
-   EAPI void         elm_check_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_check_label_get(const Evas_Object *obj);
-   EAPI void         elm_check_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj);
-   EAPI void         elm_check_state_set(Evas_Object *obj, Eina_Bool state);
-   EAPI Eina_Bool    elm_check_state_get(const Evas_Object *obj);
-   EAPI void         elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep);
+   EAPI Evas_Object *elm_check_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_check_label_set(Evas_Object *obj, const char *label); EINA_ARG_NONNULL(1)
+   EAPI const char  *elm_check_label_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
+   EAPI void         elm_check_icon_set(Evas_Object *obj, Evas_Object *icon); EINA_ARG_NONNULL(1)
+   EAPI Evas_Object *elm_check_icon_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
+   EAPI Evas_Object *elm_check_icon_unset(Evas_Object *obj); EINA_ARG_NONNULL(1)
+   EAPI void         elm_check_state_set(Evas_Object *obj, Eina_Bool state); EINA_ARG_NONNULL(1)
+   EAPI Eina_Bool    elm_check_state_get(const Evas_Object *obj); EINA_ARG_NONNULL(1)
+   EAPI void         elm_check_state_pointer_set(Evas_Object *obj, Eina_Bool *statep); EINA_ARG_NONNULL(1)
 
    /* radio */
-   EAPI Evas_Object *elm_radio_add(Evas_Object *parent);
-   EAPI void         elm_radio_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_radio_label_get(const Evas_Object *obj);
-   EAPI void         elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj);
-   EAPI void         elm_radio_group_add(Evas_Object *obj, Evas_Object *group);
-   EAPI void         elm_radio_state_value_set(Evas_Object *obj, int value);
-   EAPI int          elm_radio_state_value_get(const Evas_Object *obj);
-   EAPI void         elm_radio_value_set(Evas_Object *obj, int value);
-   EAPI int          elm_radio_value_get(const Evas_Object *obj);
-   EAPI void         elm_radio_value_pointer_set(Evas_Object *obj, int *valuep);
+   EAPI Evas_Object *elm_radio_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_radio_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_radio_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_radio_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_radio_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_radio_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_radio_group_add(Evas_Object *obj, Evas_Object *group) EINA_ARG_NONNULL(1);
+   EAPI void         elm_radio_state_value_set(Evas_Object *obj, int value) EINA_ARG_NONNULL(1);
+   EAPI int          elm_radio_state_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_radio_value_set(Evas_Object *obj, int value) EINA_ARG_NONNULL(1);
+   EAPI int          elm_radio_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_radio_value_pointer_set(Evas_Object *obj, int *valuep) EINA_ARG_NONNULL(1);
 
    /* pager */
-   EAPI Evas_Object *elm_pager_add(Evas_Object *parent);
-   EAPI void         elm_pager_content_push(Evas_Object *obj, Evas_Object *content);
-   EAPI void         elm_pager_content_pop(Evas_Object *obj);
-   EAPI void         elm_pager_content_promote(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_pager_content_bottom_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_pager_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_pager_content_push(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI void         elm_pager_content_pop(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_pager_content_promote(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_pager_content_bottom_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_pager_content_top_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* available item styles:
     * default
     * fade
@@ -1801,42 +1801,42 @@ extern "C" {
        } func;
      };
 
-   EAPI Evas_Object        *elm_slideshow_add(Evas_Object *parent);
-   EAPI Elm_Slideshow_Item *elm_slideshow_item_add(Evas_Object *obj, const Elm_Slideshow_Item_Class *itc, const void *data);
-   EAPI void                elm_slideshow_show(Elm_Slideshow_Item *item);
-   EAPI void                elm_slideshow_next(Evas_Object *obj);
-   EAPI void                elm_slideshow_previous(Evas_Object *obj);
-   EAPI const Eina_List    *elm_slideshow_transitions_get(const Evas_Object *obj);
-   EAPI void                elm_slideshow_transition_set(Evas_Object *obj, const char *);
-   EAPI const char         *elm_slideshow_transition_get(const Evas_Object *obj);
-   EAPI void                elm_slideshow_timeout_set(Evas_Object *obj ,int timeout);
-   EAPI int                 elm_slideshow_timeout_get(const Evas_Object *obj);
-   EAPI void                elm_slideshow_loop_set(Evas_Object *obj, Eina_Bool loop);
-   EAPI Eina_Bool           elm_slideshow_loop_get(const Evas_Object *obj);
-   EAPI void                elm_slideshow_clear(Evas_Object *obj);
-   EAPI const Eina_List    *elm_slideshow_items_get(const Evas_Object *obj);
-   EAPI void                elm_slideshow_item_del(Elm_Slideshow_Item *item);
-   EAPI void               *elm_slideshow_item_data_get(const Elm_Slideshow_Item *item);
-   EAPI Elm_Slideshow_Item *elm_slideshow_item_current_get(const Evas_Object *obj);
-   EAPI Evas_Object*        elm_slideshow_item_object_get(const Elm_Slideshow_Item* item);
-   EAPI const char         *elm_slideshow_layout_get(const Evas_Object *obj);
-   EAPI void                elm_slideshow_layout_set(Evas_Object *obj, const char *layout);
-   EAPI const Eina_List    *elm_slideshow_layouts_get(const Evas_Object *obj);
+   EAPI Evas_Object        *elm_slideshow_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Elm_Slideshow_Item *elm_slideshow_item_add(Evas_Object *obj, const Elm_Slideshow_Item_Class *itc, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_show(Elm_Slideshow_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_previous(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List    *elm_slideshow_transitions_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_transition_set(Evas_Object *obj, const char *transition) EINA_ARG_NONNULL(1);
+   EAPI const char         *elm_slideshow_transition_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_timeout_set(Evas_Object *obj ,int timeout) EINA_ARG_NONNULL(1);
+   EAPI int                 elm_slideshow_timeout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_loop_set(Evas_Object *obj, Eina_Bool loop) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool           elm_slideshow_loop_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List    *elm_slideshow_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_item_del(Elm_Slideshow_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void               *elm_slideshow_item_data_get(const Elm_Slideshow_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Slideshow_Item *elm_slideshow_item_current_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object*        elm_slideshow_item_object_get(const Elm_Slideshow_Item* item) EINA_ARG_NONNULL(1);
+   EAPI const char         *elm_slideshow_layout_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_slideshow_layout_set(Evas_Object *obj, const char *layout) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List    *elm_slideshow_layouts_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* file selector */
-   EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent);
-   EAPI void         elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save);
-   EAPI Eina_Bool    elm_fileselector_is_save_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_folder_only_set(Evas_Object *obj, Eina_Bool only);
-   EAPI Eina_Bool    elm_fileselector_folder_only_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_buttons_ok_cancel_set(Evas_Object *obj, Eina_Bool buttons);
-   EAPI Eina_Bool    elm_fileselector_buttons_ok_cancel_get(const Evas_Object *obj);
-   EAPI Eina_Bool    elm_fileselector_expandable_get(const Evas_Object *obj);
-   EAPI void         elm_fileselector_expandable_set(Evas_Object *obj, Eina_Bool expand);
-   EAPI void         elm_fileselector_path_set(Evas_Object *obj, const char *path);
-   EAPI const char  *elm_fileselector_path_get(const Evas_Object *obj);
-   EAPI const char  *elm_fileselector_selected_get(const Evas_Object *obj);
-   EAPI Eina_Bool    elm_fileselector_selected_set(Evas_Object *obj, const char *path);
+   EAPI Evas_Object *elm_fileselector_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_is_save_set(Evas_Object *obj, Eina_Bool is_save) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_is_save_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_folder_only_set(Evas_Object *obj, Eina_Bool only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_folder_only_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_buttons_ok_cancel_set(Evas_Object *obj, Eina_Bool buttons) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_buttons_ok_cancel_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_expandable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_expandable_set(Evas_Object *obj, Eina_Bool expand) EINA_ARG_NONNULL(1);
+   EAPI void         elm_fileselector_path_set(Evas_Object *obj, const char *path) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_path_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_fileselector_selected_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_fileselector_selected_set(Evas_Object *obj, const char *path) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "selected" - the user click on a file
     * "directory,open" - the list is populate with a new content. event_info is a directory.
@@ -1844,25 +1844,25 @@ extern "C" {
     */
 
    /* progressbar */
-   EAPI Evas_Object *elm_progressbar_add(Evas_Object *parent);
-   EAPI void         elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse);
-   EAPI Eina_Bool    elm_progressbar_pulse_get(const Evas_Object *obj);
-   EAPI void         elm_progressbar_pulse(Evas_Object *obj, Eina_Bool state);
-   EAPI void         elm_progressbar_value_set(Evas_Object *obj, double val);
-   EAPI double       elm_progressbar_value_get(const Evas_Object *obj);
-   EAPI void         elm_progressbar_label_set(Evas_Object *obj, const char *label);
-   EAPI const char  *elm_progressbar_label_get(const Evas_Object *obj);
-   EAPI void         elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj);
-   EAPI void         elm_progressbar_span_size_set(Evas_Object *obj, Evas_Coord size);
-   EAPI Evas_Coord   elm_progressbar_span_size_get(const Evas_Object *obj);
-   EAPI void         elm_progressbar_unit_format_set(Evas_Object *obj, const char *format);
-   EAPI const char  *elm_progressbar_unit_format_get(const Evas_Object *obj);
-   EAPI void         elm_progressbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool    elm_progressbar_horizontal_get(const Evas_Object *obj);
-   EAPI void         elm_progressbar_inverted_set(Evas_Object *obj, Eina_Bool inverted);
-   EAPI Eina_Bool    elm_progressbar_inverted_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_progressbar_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_pulse_set(Evas_Object *obj, Eina_Bool pulse) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_progressbar_pulse_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_pulse(Evas_Object *obj, Eina_Bool state) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_value_set(Evas_Object *obj, double val) EINA_ARG_NONNULL(1);
+   EAPI double       elm_progressbar_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_label_set(Evas_Object *obj, const char *label) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_progressbar_label_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_progressbar_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_progressbar_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_span_size_set(Evas_Object *obj, Evas_Coord size) EINA_ARG_NONNULL(1);
+   EAPI Evas_Coord   elm_progressbar_span_size_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_unit_format_set(Evas_Object *obj, const char *format) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_progressbar_unit_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_progressbar_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_progressbar_inverted_set(Evas_Object *obj, Eina_Bool inverted) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_progressbar_inverted_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     */
    /* available item styles:
@@ -1871,29 +1871,29 @@ extern "C" {
     */
 
    /* separator */
-   EAPI Evas_Object *elm_separator_add(Evas_Object *parent);
-   EAPI void         elm_separator_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool    elm_separator_horizontal_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_separator_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_separator_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_separator_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     */
 
    /* spinner */
-   EAPI Evas_Object *elm_spinner_add(Evas_Object *parent);
-   EAPI void         elm_spinner_label_format_set(Evas_Object *obj, const char *fmt);
-   EAPI const char  *elm_spinner_label_format_get(const Evas_Object *obj);
-   EAPI void         elm_spinner_min_max_set(Evas_Object *obj, double min, double max);
-   EAPI void         elm_spinner_min_max_get(const Evas_Object *obj, double *min, double *max);
-   EAPI void         elm_spinner_step_set(Evas_Object *obj, double step);
-   EAPI double       elm_spinner_step_get(const Evas_Object *obj);
-   EAPI void         elm_spinner_value_set(Evas_Object *obj, double val);
-   EAPI double       elm_spinner_value_get(const Evas_Object *obj);
-   EAPI void         elm_spinner_wrap_set(Evas_Object *obj, Eina_Bool wrap);
-   EAPI Eina_Bool    elm_spinner_wrap_get(const Evas_Object *obj);
-   EAPI void         elm_spinner_editable_set(Evas_Object *obj, Eina_Bool editable);
-   EAPI Eina_Bool    elm_spinner_editable_get(const Evas_Object *obj);
-   EAPI void         elm_spinner_special_value_add(Evas_Object *obj, double value, const char *label);
-   EAPI void         elm_spinner_interval_set(Evas_Object *obj, double interval);
-   EAPI double       elm_spinner_interval_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_spinner_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_label_format_set(Evas_Object *obj, const char *fmt) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_spinner_label_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_min_max_set(Evas_Object *obj, double min, double max) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_min_max_get(const Evas_Object *obj, double *min, double *max) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_step_set(Evas_Object *obj, double step) EINA_ARG_NONNULL(1);
+   EAPI double       elm_spinner_step_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_value_set(Evas_Object *obj, double val) EINA_ARG_NONNULL(1);
+   EAPI double       elm_spinner_value_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_spinner_wrap_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_editable_set(Evas_Object *obj, Eina_Bool editable) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_spinner_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_special_value_add(Evas_Object *obj, double value, const char *label) EINA_ARG_NONNULL(1);
+   EAPI void         elm_spinner_interval_set(Evas_Object *obj, double interval) EINA_ARG_NONNULL(1);
+   EAPI double       elm_spinner_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "changed" - when the spinner value changes
     * "delay,changed" - when the spinner value changed, but a small time after a change (use this if you only want to respond to a change once the spinner is held still for a short while).
@@ -1906,24 +1906,24 @@ extern "C" {
    /* index */
    typedef struct _Elm_Index_Item Elm_Index_Item; /**< Item of Elm_Index. Sub-type of Elm_Widget_Item */
   
-   EAPI Evas_Object *elm_index_add(Evas_Object *parent);
-   EAPI void         elm_index_active_set(Evas_Object *obj, Eina_Bool active);
-   EAPI void         elm_index_item_level_set(Evas_Object *obj, int level);
-   EAPI int          elm_index_item_level_get(const Evas_Object *obj);
-   EAPI void        *elm_index_item_selected_get(const Evas_Object *obj, int level);
-   EAPI void         elm_index_item_append(Evas_Object *obj, const char *letter, const void *item);
-   EAPI void         elm_index_item_prepend(Evas_Object *obj, const char *letter, const void *item);
-   EAPI void         elm_index_item_append_relative(Evas_Object *obj, const char *letter, const void *item, const void *relative);
-   EAPI void         elm_index_item_prepend_relative(Evas_Object *obj, const char *letter, const void *item, const void *relative);
-   EAPI void         elm_index_item_sorted_insert(Evas_Object *obj, const char *letter, const void *item, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func);
-   EAPI void         elm_index_item_del(Evas_Object *obj, const void *item);
-   EAPI Elm_Index_Item *elm_index_item_find(Evas_Object *obj, const void *item);
-   EAPI void         elm_index_item_clear(Evas_Object *obj);
-   EAPI void         elm_index_item_go(Evas_Object *obj, int level);
-   EAPI void        *elm_index_item_data_get(const Elm_Index_Item *item);
-   EAPI void         elm_index_item_data_set(Elm_Index_Item *it, const void *data);
-   EAPI void         elm_index_item_del_cb_set(Elm_Index_Item *it, Evas_Smart_Cb func);
-   EAPI const char  *elm_index_item_letter_get(const Elm_Index_Item *item);
+   EAPI Evas_Object *elm_index_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_active_set(Evas_Object *obj, Eina_Bool active) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_level_set(Evas_Object *obj, int level) EINA_ARG_NONNULL(1);
+   EAPI int          elm_index_item_level_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void        *elm_index_item_selected_get(const Evas_Object *obj, int level) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_append(Evas_Object *obj, const char *letter, const void *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_prepend(Evas_Object *obj, const char *letter, const void *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_append_relative(Evas_Object *obj, const char *letter, const void *item, const void *relative) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_prepend_relative(Evas_Object *obj, const char *letter, const void *item, const void *relative) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_sorted_insert(Evas_Object *obj, const char *letter, const void *item, Eina_Compare_Cb cmp_func, Eina_Compare_Cb cmp_data_func) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_del(Evas_Object *obj, const void *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Index_Item *elm_index_item_find(Evas_Object *obj, const void *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_go(Evas_Object *obj, int level) EINA_ARG_NONNULL(1);
+   EAPI void        *elm_index_item_data_get(const Elm_Index_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_data_set(Elm_Index_Item *it, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void         elm_index_item_del_cb_set(Elm_Index_Item *it, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_index_item_letter_get(const Elm_Index_Item *item) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "changed" - when the selected index item changes
     * "delay,changed" - when the selected index item changes, but after some small idle period
@@ -1941,22 +1941,22 @@ extern "C" {
        ELM_PHOTOCAM_ZOOM_MODE_LAST
      } Elm_Photocam_Zoom_Mode;
   
-   EAPI Evas_Object *elm_photocam_add(Evas_Object *parent);
-   EAPI Evas_Load_Error elm_photocam_file_set(Evas_Object *obj, const char *file);
-   EAPI const char * elm_photocam_file_get(const Evas_Object *obj);
-   EAPI void         elm_photocam_zoom_set(Evas_Object *obj, double zoom);
-   EAPI double       elm_photocam_zoom_get(const Evas_Object *obj);
-   EAPI void         elm_photocam_zoom_mode_set(Evas_Object *obj, Elm_Photocam_Zoom_Mode mode);
-   EAPI Elm_Photocam_Zoom_Mode elm_photocam_zoom_mode_get(const Evas_Object *obj);
-   EAPI void         elm_photocam_image_size_get(const Evas_Object *obj, int *w, int *h);
-   EAPI void         elm_photocam_region_get(const Evas_Object *obj, int *x, int *y, int *w, int *h);
-   EAPI void         elm_photocam_image_region_show(Evas_Object *obj, int x, int y, int w, int h);
-   EAPI void         elm_photocam_image_region_bring_in(Evas_Object *obj, int x, int y, int w, int h);
-   EAPI void         elm_photocam_paused_set(Evas_Object *obj, Eina_Bool paused);
-   EAPI Eina_Bool    elm_photocam_paused_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_photocam_internal_image_get(const Evas_Object *obj);
-   EAPI void         elm_photocam_bounce_set(Evas_Object *obj,  Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void         elm_photocam_bounce_get(const Evas_Object *obj,  Eina_Bool *h_bounce, Eina_Bool *v_bounce);
+   EAPI Evas_Object *elm_photocam_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Evas_Load_Error elm_photocam_file_set(Evas_Object *obj, const char *file) EINA_ARG_NONNULL(1);
+   EAPI const char * elm_photocam_file_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_zoom_set(Evas_Object *obj, double zoom) EINA_ARG_NONNULL(1);
+   EAPI double       elm_photocam_zoom_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_zoom_mode_set(Evas_Object *obj, Elm_Photocam_Zoom_Mode mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_Photocam_Zoom_Mode elm_photocam_zoom_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_image_size_get(const Evas_Object *obj, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_region_get(const Evas_Object *obj, int *x, int *y, int *w, int *h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_image_region_show(Evas_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_image_region_bring_in(Evas_Object *obj, int x, int y, int w, int h) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_paused_set(Evas_Object *obj, Eina_Bool paused) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_photocam_paused_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_photocam_internal_image_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_bounce_set(Evas_Object *obj,  Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_photocam_bounce_get(const Evas_Object *obj,  Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "clicked" - when image clicked
     * "press" - when mouse/finger held down initially on image
@@ -2010,44 +2010,44 @@ extern "C" {
    typedef Evas_Object *(*ElmMapGroupIconGetFunc)   (Evas_Object *obj, void *data);
    typedef char        *(*ElmMapSourceURLFunc)      (int x, int y, int zoom);
   
-   EAPI Evas_Object *elm_map_add(Evas_Object *parent);
-   EAPI void         elm_map_zoom_set(Evas_Object *obj, int zoom);
-   EAPI double       elm_map_zoom_get(const Evas_Object *obj);
-   EAPI void         elm_map_zoom_mode_set(Evas_Object *obj, Elm_Map_Zoom_Mode mode);
-   EAPI Elm_Map_Zoom_Mode elm_map_zoom_mode_get(const Evas_Object *obj);
-   EAPI void         elm_map_geo_region_get(const Evas_Object *obj, double *lon, double *lat);
-   EAPI void         elm_map_geo_region_bring_in(Evas_Object *obj, double lon, double lat);
-   EAPI void         elm_map_geo_region_show(Evas_Object *obj, double lon, double lat);
-   EAPI void         elm_map_paused_set(Evas_Object *obj, Eina_Bool paused);
-   EAPI Eina_Bool    elm_map_paused_get(const Evas_Object *obj);
-   EAPI void         elm_map_paused_markers_set(Evas_Object *obj, Eina_Bool paused);
-   EAPI Eina_Bool    elm_map_paused_markers_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_map_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_zoom_set(Evas_Object *obj, int zoom) EINA_ARG_NONNULL(1);
+   EAPI double       elm_map_zoom_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_zoom_mode_set(Evas_Object *obj, Elm_Map_Zoom_Mode mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_Map_Zoom_Mode elm_map_zoom_mode_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_geo_region_get(const Evas_Object *obj, double *lon, double *lat) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_geo_region_bring_in(Evas_Object *obj, double lon, double lat) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_geo_region_show(Evas_Object *obj, double lon, double lat) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_paused_set(Evas_Object *obj, Eina_Bool paused) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_map_paused_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_paused_markers_set(Evas_Object *obj, Eina_Bool paused) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_map_paused_markers_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    EAPI void          elm_map_utils_convert_coord_into_geo(int x, int y, int size, double *lon, double *lat);
    EAPI void         elm_map_utils_convert_geo_into_coord(double lon, double lat, int size, int *x, int *y);
-   EAPI Elm_Map_Marker *elm_map_marker_add(Evas_Object *obj, double lon, double lat, Elm_Map_Marker_Class *clas, Elm_Map_Group_Class *clas_group, void *data);
-   EAPI void         elm_map_max_marker_per_group_set(Evas_Object *obj, int max);
-   EAPI void         elm_map_marker_remove(Elm_Map_Marker *marker);
-   EAPI void         elm_map_marker_bring_in(Elm_Map_Marker *marker);
-   EAPI void         elm_map_marker_show(Elm_Map_Marker *marker);
-   EAPI void         elm_map_markers_list_show(Eina_List *markers);
-   EAPI Evas_Object *elm_map_marker_object_get(const Elm_Map_Marker *marker);
-   EAPI void         elm_map_marker_update(Elm_Map_Marker *marker);
-   EAPI void         elm_map_bubbles_close(Evas_Object *obj);
-   EAPI Elm_Map_Group_Class * elm_map_group_class_new(Evas_Object *obj);
-   EAPI void         elm_map_group_class_style_set(Elm_Map_Group_Class *clas, const char *style);
-   EAPI void         elm_map_group_class_icon_cb_set(Elm_Map_Group_Class *clas, ElmMapGroupIconGetFunc icon_get);
-   EAPI void         elm_map_group_class_data_set(Elm_Map_Group_Class *clas, void *data);
-   EAPI void         elm_map_group_class_zoom_displayed_set(Elm_Map_Group_Class *clas, int zoom);
-   EAPI void         elm_map_group_class_zoom_grouped_set(Elm_Map_Group_Class *clas, int zoom);
-   EAPI void         elm_map_group_class_hide_set(Evas_Object *obj, Elm_Map_Group_Class *clas, Eina_Bool hide);
-   EAPI Elm_Map_Marker_Class * elm_map_marker_class_new(Evas_Object *obj);
-   EAPI void         elm_map_marker_class_style_set(Elm_Map_Marker_Class *clas, const char *style);
-   EAPI void         elm_map_marker_class_icon_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerIconGetFunc icon_get);
-   EAPI void         elm_map_marker_class_get_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerGetFunc get);
-   EAPI void         elm_map_marker_class_del_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerDelFunc del);
-   EAPI void         elm_map_source_set(Evas_Object *obj, Elm_Map_Sources source);
-   EAPI Elm_Map_Sources elm_map_source_get(const Evas_Object *obj);
-   EAPI void         elm_map_source_custom_api_set(Elm_Map_Sources source, const char *label, int zoom_min, int zoom_max, ElmMapSourceURLFunc url_cb);
+   EAPI Elm_Map_Marker *elm_map_marker_add(Evas_Object *obj, double lon, double lat, Elm_Map_Marker_Class *clas, Elm_Map_Group_Class *clas_group, void *data) EINA_ARG_NONNULL(1, 4, 5);
+   EAPI void         elm_map_max_marker_per_group_set(Evas_Object *obj, int max) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_remove(Elm_Map_Marker *marker) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_bring_in(Elm_Map_Marker *marker) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_show(Elm_Map_Marker *marker) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_markers_list_show(Eina_List *markers) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_map_marker_object_get(const Elm_Map_Marker *marker) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_update(Elm_Map_Marker *marker) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_bubbles_close(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Map_Group_Class * elm_map_group_class_new(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_group_class_style_set(Elm_Map_Group_Class *clas, const char *style) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_group_class_icon_cb_set(Elm_Map_Group_Class *clas, ElmMapGroupIconGetFunc icon_get) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_group_class_data_set(Elm_Map_Group_Class *clas, void *data) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_group_class_zoom_displayed_set(Elm_Map_Group_Class *clas, int zoom) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_group_class_zoom_grouped_set(Elm_Map_Group_Class *clas, int zoom) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_group_class_hide_set(Evas_Object *obj, Elm_Map_Group_Class *clas, Eina_Bool hide) EINA_ARG_NONNULL(1, 2);
+   EAPI Elm_Map_Marker_Class * elm_map_marker_class_new(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_class_style_set(Elm_Map_Marker_Class *clas, const char *style) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_class_icon_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerIconGetFunc icon_get) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_class_get_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerGetFunc get) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_marker_class_del_cb_set(Elm_Map_Marker_Class *clas, ElmMapMarkerDelFunc del) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_source_set(Evas_Object *obj, Elm_Map_Sources source) EINA_ARG_NONNULL(1);
+   EAPI Elm_Map_Sources elm_map_source_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_map_source_custom_api_set(Elm_Map_Sources source, const char *label, int zoom_min, int zoom_max, ElmMapSourceURLFunc url_cb) EINA_ARG_NONNULL(2, 5);
    EAPI int          elm_map_source_zoom_min_get(Elm_Map_Sources source);
    EAPI int          elm_map_source_zoom_max_get(Elm_Map_Sources source);
    EAPI const char  *elm_map_source_name_get(Elm_Map_Sources source);
@@ -2077,15 +2077,15 @@ extern "C" {
         ELM_PANEL_ORIENT_RIGHT,
      } Elm_Panel_Orient;
   
-   EAPI Evas_Object          *elm_panel_add(Evas_Object *parent);
-   EAPI void                  elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient);
-   EAPI Elm_Panel_Orient      elm_panel_orient_get(const Evas_Object *obj);
-   EAPI void                  elm_panel_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object          *elm_panel_content_get(const Evas_Object *obj);
-   EAPI Evas_Object          *elm_panel_content_unset(Evas_Object *obj);
-   EAPI void                  elm_panel_hidden_set(Evas_Object *obj, Eina_Bool hidden);
-   EAPI Eina_Bool             elm_panel_hidden_get(const Evas_Object *obj);
-   EAPI void                  elm_panel_toggle(Evas_Object *obj);
+   EAPI Evas_Object          *elm_panel_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panel_orient_set(Evas_Object *obj, Elm_Panel_Orient orient) EINA_ARG_NONNULL(1);
+   EAPI Elm_Panel_Orient      elm_panel_orient_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panel_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_panel_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_panel_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panel_hidden_set(Evas_Object *obj, Eina_Bool hidden) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_panel_hidden_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panel_toggle(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* panes */
    /**
@@ -2094,17 +2094,17 @@ extern "C" {
     * Update the minimun height of the bar in the theme. No minimun should be set in the vertical theme
     * Add events (move, start ...)
     */
-   EAPI Evas_Object          *elm_panes_add(Evas_Object *parent);
-   EAPI void                  elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content);
-   EAPI void                  elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object          *elm_panes_content_left_get(const Evas_Object *obj);
-   EAPI Evas_Object          *elm_panes_content_right_get(const Evas_Object *obj);
-   EAPI Evas_Object          *elm_panes_content_left_unset(Evas_Object *obj);
-   EAPI Evas_Object          *elm_panes_content_right_unset(Evas_Object *obj);
-   EAPI double                elm_panes_content_left_size_get(const Evas_Object *obj);
-   EAPI void                  elm_panes_content_left_size_set(Evas_Object *obj, double size);
-   EAPI void                  elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal);
-   EAPI Eina_Bool             elm_panes_horizontal_get(const Evas_Object *obj);
+   EAPI Evas_Object          *elm_panes_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panes_content_left_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panes_content_right_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_panes_content_left_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_panes_content_right_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_panes_content_left_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_panes_content_right_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI double                elm_panes_content_left_size_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panes_content_left_size_set(Evas_Object *obj, double size) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_panes_horizontal_set(Evas_Object *obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_panes_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* flip */
    typedef enum _Elm_Flip_Mode
@@ -2119,118 +2119,118 @@ extern "C" {
         ELM_FLIP_CUBE_DOWN
      } Elm_Flip_Mode;
 
-   EAPI Evas_Object *elm_flip_add(Evas_Object *parent);
-   EAPI void         elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content);
-   EAPI void         elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_flip_content_front_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_flip_content_back_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_flip_content_front_unset(Evas_Object *obj);
-   EAPI Evas_Object *elm_flip_content_back_unset(Evas_Object *obj);
-   EAPI Eina_Bool    elm_flip_front_get(const Evas_Object *obj);
-   EAPI void         elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc, Evas_Coord x, Evas_Coord y);
-   EAPI void         elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode);
+   EAPI Evas_Object *elm_flip_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_flip_content_front_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI void         elm_flip_content_back_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_flip_content_front_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_flip_content_back_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_flip_content_front_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_flip_content_back_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_flip_front_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_flip_perspective_set(Evas_Object *obj, Evas_Coord foc, Evas_Coord x, Evas_Coord y) EINA_ARG_NONNULL(1);
+   EAPI void         elm_flip_go(Evas_Object *obj, Elm_Flip_Mode mode) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "animate,done" - when a flip animation is finished
     */
   
    /* scrolledentry */
-   EAPI Evas_Object *elm_scrolled_entry_add(Evas_Object *parent);
-   EAPI void         elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line);
-   EAPI Eina_Bool    elm_scrolled_entry_single_line_get(const Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_password_set(Evas_Object *obj, Eina_Bool password);
-   EAPI Eina_Bool    elm_scrolled_entry_password_get(const Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_entry_set(Evas_Object *obj, const char *entry);
-   EAPI const char  *elm_scrolled_entry_entry_get(const Evas_Object *obj);
-   EAPI const char  *elm_scrolled_entry_selection_get(const Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_entry_insert(Evas_Object *obj, const char *entry);
-   EAPI void         elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap);
-   EAPI void         elm_scrolled_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap);
-   EAPI void         elm_scrolled_entry_editable_set(Evas_Object *obj, Eina_Bool editable);
-   EAPI Eina_Bool    elm_scrolled_entry_editable_get(const Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_select_none(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_select_all(Evas_Object *obj);
-   EAPI Eina_Bool    elm_scrolled_entry_cursor_next(Evas_Object *obj);
-   EAPI Eina_Bool    elm_scrolled_entry_cursor_prev(Evas_Object *obj);
-   EAPI Eina_Bool    elm_scrolled_entry_cursor_up(Evas_Object *obj);
-   EAPI Eina_Bool    elm_scrolled_entry_cursor_down(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_cursor_begin_set(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_cursor_end_set(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_cursor_line_begin_set(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_cursor_line_end_set(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_cursor_selection_begin(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_cursor_selection_end(Evas_Object *obj);
-   EAPI Eina_Bool    elm_scrolled_entry_cursor_is_format_get(const Evas_Object *obj);
-   EAPI Eina_Bool    elm_scrolled_entry_cursor_is_visible_format_get(const Evas_Object *obj);
-   EAPI const char  *elm_scrolled_entry_cursor_content_get(const Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_selection_cut(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_selection_copy(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_selection_paste(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_context_menu_clear(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data);
-   EAPI void         elm_scrolled_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled);
-   EAPI Eina_Bool    elm_scrolled_entry_context_menu_disabled_get(const Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v);
-   EAPI void         elm_scrolled_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void         elm_scrolled_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void         elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon);
-   EAPI Evas_Object *elm_scrolled_entry_icon_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_scrolled_entry_icon_unset(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting);
-   EAPI void         elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end);
-   EAPI Evas_Object *elm_scrolled_entry_end_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_scrolled_entry_end_unset(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting);
-   EAPI void         elm_scrolled_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
-   EAPI void         elm_scrolled_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
-   EAPI void         elm_scrolled_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data);
-   EAPI void         elm_scrolled_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data);
-   EAPI void         elm_scrolled_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data);
-   EAPI void         elm_scrolled_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data);
-   EAPI void         elm_scrolled_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format);
-   EAPI void         elm_scrolled_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format);
-   EAPI void         elm_scrolled_entry_file_save(Evas_Object *obj);
-   EAPI void         elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave);
-   EAPI Eina_Bool    elm_scrolled_entry_autosave_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_scrolled_entry_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_single_line_set(Evas_Object *obj, Eina_Bool single_line) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_single_line_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_password_set(Evas_Object *obj, Eina_Bool password) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_password_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_entry_set(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_scrolled_entry_entry_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_scrolled_entry_selection_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_entry_insert(Evas_Object *obj, const char *entry) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_line_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_line_char_wrap_set(Evas_Object *obj, Eina_Bool wrap) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_editable_set(Evas_Object *obj, Eina_Bool editable) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_editable_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_select_none(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_select_all(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_cursor_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_cursor_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_cursor_up(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_cursor_down(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_cursor_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_cursor_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_cursor_line_begin_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_cursor_line_end_set(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_cursor_selection_begin(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_cursor_selection_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_cursor_is_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_cursor_is_visible_format_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const char  *elm_scrolled_entry_cursor_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_selection_cut(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_selection_copy(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_selection_paste(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_context_menu_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_context_menu_item_add(Evas_Object *obj, const char *label, const char *icon_file, Elm_Icon_Type icon_type, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_context_menu_disabled_set(Evas_Object *obj, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_context_menu_disabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_scrollbar_policy_set(Evas_Object *obj, Elm_Scroller_Policy h, Elm_Scroller_Policy v) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_icon_set(Evas_Object *obj, Evas_Object *icon) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object *elm_scrolled_entry_icon_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_scrolled_entry_icon_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_icon_visible_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_end_set(Evas_Object *obj, Evas_Object *end) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object *elm_scrolled_entry_end_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_scrolled_entry_end_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_end_visible_set(Evas_Object *obj, Eina_Bool setting) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_item_provider_append(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_scrolled_entry_item_provider_prepend(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_scrolled_entry_item_provider_remove(Evas_Object *obj, Evas_Object *(*func) (void *data, Evas_Object *entry, const char *item), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_scrolled_entry_text_filter_append(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_scrolled_entry_text_filter_prepend(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_scrolled_entry_text_filter_remove(Evas_Object *obj, void (*func) (void *data, Evas_Object *entry, char **text), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_scrolled_entry_file_set(Evas_Object *obj, const char *file, Elm_Text_Format format) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_file_get(const Evas_Object *obj, const char **file, Elm_Text_Format *format) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_file_save(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_scrolled_entry_autosave_set(Evas_Object *obj, Eina_Bool autosave) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_scrolled_entry_autosave_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* conformant */
-   EAPI Evas_Object *elm_conformant_add(Evas_Object *parent);
-   EAPI void         elm_conformant_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj);
+   EAPI Evas_Object *elm_conformant_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_conformant_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_conformant_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_conformant_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* mapbuf */
-   EAPI Evas_Object *elm_mapbuf_add(Evas_Object *parent);
-   EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content);
-   EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj);
-   EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj);
-   EAPI void         elm_mapbuf_enabled_set(Evas_Object *obj, Eina_Bool enabled);
-   EAPI Eina_Bool    elm_mapbuf_enabled_get(const Evas_Object *obj);
-   EAPI void         elm_mapbuf_smooth_set(Evas_Object *obj, Eina_Bool smooth);
-   EAPI Eina_Bool    elm_mapbuf_smooth_get(const Evas_Object *obj);
-   EAPI void         elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha);
-   EAPI Eina_Bool    elm_mapbuf_alpha_get(const Evas_Object *obj);
+   EAPI Evas_Object *elm_mapbuf_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void         elm_mapbuf_content_set(Evas_Object *obj, Evas_Object *content) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_mapbuf_content_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object *elm_mapbuf_content_unset(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_mapbuf_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_mapbuf_enabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_mapbuf_smooth_set(Evas_Object *obj, Eina_Bool smooth) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_mapbuf_smooth_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_mapbuf_alpha_set(Evas_Object *obj, Eina_Bool alpha) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_mapbuf_alpha_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
 
    /* flipselector */
    typedef struct _Elm_Flipselector_Item Elm_Flipselector_Item;
 
-   EAPI Evas_Object               *elm_flipselector_add(Evas_Object *parent);
-   EAPI void                       elm_flipselector_flip_next(Evas_Object *obj);
-   EAPI void                       elm_flipselector_flip_prev(Evas_Object *obj);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data);
-   EAPI const Eina_List           *elm_flipselector_items_get(const Evas_Object *obj);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_first_item_get(const Evas_Object *obj);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_last_item_get(const Evas_Object *obj);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_selected_item_get(const Evas_Object *obj);
-   EAPI void                       elm_flipselector_item_selected_set(Elm_Flipselector_Item *item, Eina_Bool selected);
-   EAPI Eina_Bool                  elm_flipselector_item_selected_get(const Elm_Flipselector_Item *item);
-   EAPI void                       elm_flipselector_item_del(Elm_Flipselector_Item *item);
-   EAPI const char                *elm_flipselector_item_label_get(const Elm_Flipselector_Item *item);
-   EAPI void                       elm_flipselector_item_label_set(Elm_Flipselector_Item *item, const char *label);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_item_prev_get(Elm_Flipselector_Item *item);
-   EAPI Elm_Flipselector_Item       *elm_flipselector_item_next_get(Elm_Flipselector_Item *item);
-   EAPI void                       elm_flipselector_interval_set(Evas_Object *obj, double interval);
-   EAPI double                     elm_flipselector_interval_get(const Evas_Object *obj);
+   EAPI Evas_Object               *elm_flipselector_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_flip_next(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_flip_prev(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_item_append(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_item_prepend(Evas_Object *obj, const char *label, void (*func)(void *data, Evas_Object *obj, void *event_info), void *data) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List           *elm_flipselector_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_item_selected_set(Elm_Flipselector_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool                  elm_flipselector_item_selected_get(const Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_item_del(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI const char                *elm_flipselector_item_label_get(const Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_item_label_set(Elm_Flipselector_Item *item, const char *label) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_item_prev_get(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Flipselector_Item       *elm_flipselector_item_next_get(Elm_Flipselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                       elm_flipselector_interval_set(Evas_Object *obj, double interval) EINA_ARG_NONNULL(1);
+   EAPI double                     elm_flipselector_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "selected" - when flipselector selected item is changed
     * "overflowed" - when flipselector item is changed to first item
@@ -2265,20 +2265,20 @@ extern "C" {
    typedef void (*Elm_Animator_Completion_Cb) (void *data);
 
    EAPI Elm_Animator* elm_animator_add(Evas_Object *parent);
-   EAPI void          elm_animator_del(Elm_Animator *animator);
-   EAPI void          elm_animator_duration_set(Elm_Animator *animator, double duration);
-   EAPI void          elm_animator_operation_callback_set(Elm_Animator *animator, Elm_Animator_Operation_Cb func, void *data);
-   EAPI void          elm_animator_completion_callback_set(Elm_Animator *animator, Elm_Animator_Completion_Cb func, void *data);
-   EAPI void          elm_animator_stop(Elm_Animator *animator);
-   EAPI void          elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt);
-   EAPI void          elm_animator_animate(Elm_Animator *animator);
-   EAPI void          elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs);
-   EAPI void          elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse);
-   EAPI Eina_Bool     elm_animator_auto_reverse_get(const Elm_Animator *animator);
-   EAPI Eina_Bool     elm_animator_operating_get(const Elm_Animator *animator);
-   EAPI unsigned int  elm_animator_repeat_get(const Elm_Animator *animator);
-   EAPI void          elm_animator_pause(Elm_Animator *animator);
-   EAPI void          elm_animator_resume(Elm_Animator *animator);
+   EAPI void          elm_animator_del(Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_duration_set(Elm_Animator *animator, double duration) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_operation_callback_set(Elm_Animator *animator, Elm_Animator_Operation_Cb func, void *data) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_completion_callback_set(Elm_Animator *animator, Elm_Animator_Completion_Cb func, void *data) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_stop(Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_repeat_set(Elm_Animator *animator, unsigned int repeat_cnt) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_animate(Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_curve_style_set(Elm_Animator *animator, Elm_Animator_Curve_Style cs) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_auto_reverse_set(Elm_Animator *animator, Eina_Bool reverse) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool     elm_animator_auto_reverse_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool     elm_animator_operating_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI unsigned int  elm_animator_repeat_get(const Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_pause(Elm_Animator *animator) EINA_ARG_NONNULL(1);
+   EAPI void          elm_animator_resume(Elm_Animator *animator) EINA_ARG_NONNULL(1);
 
    /* calendar */
    typedef enum 
@@ -2291,26 +2291,26 @@ extern "C" {
      } Elm_Calendar_Mark_Repeat;
    typedef struct _Elm_Calendar_Mark Elm_Calendar_Mark;
 
-   EAPI Evas_Object *elm_calendar_add(Evas_Object *parent);
-   EAPI const char **elm_calendar_weekdays_names_get(const Evas_Object *obj);
-   EAPI void         elm_calendar_weekdays_names_set(Evas_Object *obj, const char *weekdays[]);
-   EAPI double       elm_calendar_interval_get(const Evas_Object *obj);
-   EAPI void         elm_calendar_interval_set(Evas_Object *obj, double interval);
-   EAPI void         elm_calendar_min_max_year_get(const Evas_Object *obj, int *min, int *max);
-   EAPI void         elm_calendar_min_max_year_set(Evas_Object *obj, int min, int max);
-   EAPI Eina_Bool    elm_calendar_day_selection_enabled_get(const Evas_Object *obj);
-   EAPI void         elm_calendar_day_selection_enabled_set(Evas_Object *obj, Eina_Bool enabled);
-   EAPI Eina_Bool    elm_calendar_selected_time_get(const Evas_Object *obj, struct tm *selected_time);
-   EAPI void         elm_calendar_selected_time_set(Evas_Object *obj, struct tm *selected_time);
-   EAPI void         elm_calendar_format_function_set(Evas_Object *obj, char * (*format_function) (struct tm *stime));
-   EAPI Elm_Calendar_Mark *elm_calendar_mark_add(Evas_Object *obj, const char *mark_type, struct tm *mark_time, Elm_Calendar_Mark_Repeat repeat);
-   EAPI void         elm_calendar_mark_del(Elm_Calendar_Mark *mark);
-   EAPI void         elm_calendar_marks_clear(Evas_Object *obj);
-   EAPI const Eina_List *elm_calendar_marks_get(const Evas_Object *obj);
-   EAPI void         elm_calendar_marks_draw(Evas_Object *obj);
-   EAPI void         elm_calendar_text_saturday_color_set(Evas_Object *obj, int pos);
-   EAPI void         elm_calendar_text_sunday_color_set(Evas_Object *obj, int pos);
-   EAPI void         elm_calendar_text_weekday_color_set(Evas_Object *obj, int pos);
+   EAPI Evas_Object *elm_calendar_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI const char **elm_calendar_weekdays_names_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_weekdays_names_set(Evas_Object *obj, const char *weekdays[]) EINA_ARG_NONNULL(1, 2);
+   EAPI double       elm_calendar_interval_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_interval_set(Evas_Object *obj, double interval) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_min_max_year_get(const Evas_Object *obj, int *min, int *max) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_min_max_year_set(Evas_Object *obj, int min, int max) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_calendar_day_selection_enabled_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_day_selection_enabled_set(Evas_Object *obj, Eina_Bool enabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool    elm_calendar_selected_time_get(const Evas_Object *obj, struct tm *selected_time) EINA_ARG_NONNULL(1, 2);
+   EAPI void         elm_calendar_selected_time_set(Evas_Object *obj, struct tm *selected_time) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_format_function_set(Evas_Object *obj, char * (*format_function) (struct tm *stime)) EINA_ARG_NONNULL(1);
+   EAPI Elm_Calendar_Mark *elm_calendar_mark_add(Evas_Object *obj, const char *mark_type, struct tm *mark_time, Elm_Calendar_Mark_Repeat repeat) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_mark_del(Elm_Calendar_Mark *mark) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_marks_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List *elm_calendar_marks_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_marks_draw(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_text_saturday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_text_sunday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
+   EAPI void         elm_calendar_text_weekday_color_set(Evas_Object *obj, int pos) EINA_ARG_NONNULL(1);
    
    /* smart callbacks called:
     * changed - emitted when the user select a day or change the displayed
@@ -2320,52 +2320,52 @@ extern "C" {
    /* diskselector */
    typedef struct _Elm_Diskselector_Item Elm_Diskselector_Item;
 
-   EAPI Evas_Object          *elm_diskselector_add(Evas_Object *parent);
-   EAPI Eina_Bool             elm_diskselector_round_get(const Evas_Object *obj);
-   EAPI void                  elm_diskselector_round_set(Evas_Object *obj, Eina_Bool round);
-   EAPI int                   elm_diskselector_side_label_lenght_get(const Evas_Object *obj);
-   EAPI void                  elm_diskselector_side_label_lenght_set(Evas_Object *obj, int len);
-   EAPI void                  elm_diskselector_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce);
-   EAPI void                  elm_diskselector_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce);
-   EAPI void                  elm_diskselector_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v);
-   EAPI void                  elm_diskselector_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v);
-   EAPI void                  elm_diskselector_clear(Evas_Object *obj);
-   EAPI const Eina_List      *elm_diskselector_items_get(const Evas_Object *obj);
-   EAPI Elm_Diskselector_Item  *elm_diskselector_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data);
-   EAPI void                 elm_diskselector_item_del(Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_del_cb_set(Elm_Diskselector_Item *item, Evas_Smart_Cb func);
-   EAPI void                 *elm_diskselector_item_data_get(const Elm_Diskselector_Item *item);
-   EAPI Evas_Object          *elm_diskselector_item_icon_get(const Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_icon_set(Elm_Diskselector_Item *item, Evas_Object *icon);
-   EAPI const char           *elm_diskselector_item_label_get(const Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_label_set(Elm_Diskselector_Item *item, const char *label);
-   EAPI Elm_Diskselector_Item  *elm_diskselector_selected_item_get(const Evas_Object *obj);
-   EAPI void                  elm_diskselector_item_selected_set(Elm_Diskselector_Item *item, Eina_Bool selected);
-   EAPI Eina_Bool             elm_diskselector_item_selected_get(const Elm_Diskselector_Item *item);
-   EAPI Elm_Diskselector_Item  *elm_diskselector_first_item_get(const Evas_Object *obj);
-   EAPI Elm_Diskselector_Item  *elm_diskselector_last_item_get(const Evas_Object *obj);
-   EAPI Elm_Diskselector_Item  *elm_diskselector_item_prev_get(const Elm_Diskselector_Item *item);
-   EAPI Elm_Diskselector_Item  *elm_diskselector_item_next_get(const Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_tooltip_text_set(Elm_Diskselector_Item *item, const char *text);
-   EAPI void                  elm_diskselector_item_tooltip_content_cb_set(Elm_Diskselector_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb);
-   EAPI void                  elm_diskselector_item_tooltip_unset(Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_tooltip_style_set(Elm_Diskselector_Item *item, const char *style);
-   EAPI const char*           elm_diskselector_item_tooltip_style_get(const Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_cursor_set(Elm_Diskselector_Item *item, const char *cursor);
-   EAPI const char*           elm_diskselector_item_cursor_get(const Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_cursor_unset(Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_cursor_style_set(Elm_Diskselector_Item *item, const char *style);
-   EAPI const char*           elm_diskselector_item_cursor_style_get(const Elm_Diskselector_Item *item);
-   EAPI void                  elm_diskselector_item_cursor_engine_only_set(Elm_Diskselector_Item *item, Eina_Bool engine_only);
-   EAPI Eina_Bool             elm_diskselector_item_cursor_engine_only_get(const Elm_Diskselector_Item *item);
+   EAPI Evas_Object          *elm_diskselector_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_diskselector_round_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_round_set(Evas_Object *obj, Eina_Bool round) EINA_ARG_NONNULL(1);
+   EAPI int                   elm_diskselector_side_label_lenght_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_side_label_lenght_set(Evas_Object *obj, int len) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_bounce_set(Evas_Object *obj, Eina_Bool h_bounce, Eina_Bool v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_bounce_get(const Evas_Object *obj, Eina_Bool *h_bounce, Eina_Bool *v_bounce) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_scroller_policy_get(const Evas_Object *obj, Elm_Scroller_Policy *policy_h, Elm_Scroller_Policy *policy_v) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_scroller_policy_set(Evas_Object *obj, Elm_Scroller_Policy policy_h, Elm_Scroller_Policy policy_v) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_clear(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI const Eina_List      *elm_diskselector_items_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Diskselector_Item  *elm_diskselector_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void                 elm_diskselector_item_del(Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_del_cb_set(Elm_Diskselector_Item *item, Evas_Smart_Cb func) EINA_ARG_NONNULL(1);
+   EAPI void                 *elm_diskselector_item_data_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object          *elm_diskselector_item_icon_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_icon_set(Elm_Diskselector_Item *item, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI const char           *elm_diskselector_item_label_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_label_set(Elm_Diskselector_Item *item, const char *label) EINA_ARG_NONNULL(1);
+   EAPI Elm_Diskselector_Item  *elm_diskselector_selected_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_selected_set(Elm_Diskselector_Item *item, Eina_Bool selected) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_diskselector_item_selected_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Diskselector_Item  *elm_diskselector_first_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Diskselector_Item  *elm_diskselector_last_item_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Diskselector_Item  *elm_diskselector_item_prev_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI Elm_Diskselector_Item  *elm_diskselector_item_next_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_tooltip_text_set(Elm_Diskselector_Item *item, const char *text) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_tooltip_content_cb_set(Elm_Diskselector_Item *item, Elm_Tooltip_Item_Content_Cb func, const void *data, Evas_Smart_Cb del_cb) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_tooltip_unset(Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_tooltip_style_set(Elm_Diskselector_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char*           elm_diskselector_item_tooltip_style_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_cursor_set(Elm_Diskselector_Item *item, const char *cursor) EINA_ARG_NONNULL(1);
+   EAPI const char*           elm_diskselector_item_cursor_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_cursor_unset(Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_cursor_style_set(Elm_Diskselector_Item *item, const char *style) EINA_ARG_NONNULL(1);
+   EAPI const char*           elm_diskselector_item_cursor_style_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                  elm_diskselector_item_cursor_engine_only_set(Elm_Diskselector_Item *item, Eina_Bool engine_only) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool             elm_diskselector_item_cursor_engine_only_get(const Elm_Diskselector_Item *item) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "selected" - when item is selected (scroller stops)
     */
 
    /* colorselector */
-   EAPI Evas_Object *elm_colorselector_add(Evas_Object *parent);
-   EAPI void elm_colorselector_color_set(Evas_Object *obj, int r, int g , int b, int a);
-   EAPI void elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g , int *b, int *a);
+   EAPI Evas_Object *elm_colorselector_add(Evas_Object *parent) EINA_ARG_NONNULL(1);
+   EAPI void elm_colorselector_color_set(Evas_Object *obj, int r, int g , int b, int a) EINA_ARG_NONNULL(1);
+   EAPI void elm_colorselector_color_get(const Evas_Object *obj, int *r, int *g , int *b, int *a) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "changed" - when the color value changes
     */
@@ -2373,21 +2373,21 @@ extern "C" {
    /* ctxpopup */
    typedef struct _Elm_Ctxpopup_Item Elm_Ctxpopup_Item;
   
-   EAPI Evas_Object        *elm_ctxpopup_add(Evas_Object* parent);
-   EAPI void                elm_ctxpopup_hover_end(Evas_Object *obj);
-   EAPI Evas_Object        *elm_ctxpopup_item_icon_get(const Elm_Ctxpopup_Item *item);
-   EAPI void                elm_ctxpopup_item_icon_set(Elm_Ctxpopup_Item *item, Evas_Object *icon);
-   EAPI const char         *elm_ctxpopup_item_label_get(const Elm_Ctxpopup_Item *item);
-   EAPI void                elm_ctxpopup_item_label_set(Elm_Ctxpopup_Item *item, const char *label);
-   EAPI void                elm_ctxpopup_hover_parent_set(Evas_Object *obj, Evas_Object *parent);
-   EAPI Evas_Object        *elm_ctxpopup_hover_parent_get(const Evas_Object *obj);
-   EAPI void                elm_ctxpopup_clear(Evas_Object* obj);
-   EAPI void                elm_ctxpopup_horizontal_set(Evas_Object* obj, Eina_Bool horizontal);
-   EAPI Eina_Bool           elm_ctxpopup_horizontal_get(const Evas_Object *obj);
-   EAPI Elm_Ctxpopup_Item  *elm_ctxpopup_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data);
-   EAPI void                elm_ctxpopup_item_del(Elm_Ctxpopup_Item *item);
-   EAPI void                elm_ctxpopup_item_disabled_set(Elm_Ctxpopup_Item *item, Eina_Bool disabled);
-   EAPI Eina_Bool           elm_ctxpopup_item_disabled_get(const Elm_Ctxpopup_Item *item);
+   EAPI Evas_Object        *elm_ctxpopup_add(Evas_Object* parent) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_hover_end(Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Evas_Object        *elm_ctxpopup_item_icon_get(const Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_item_icon_set(Elm_Ctxpopup_Item *item, Evas_Object *icon) EINA_ARG_NONNULL(1);
+   EAPI const char         *elm_ctxpopup_item_label_get(const Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_item_label_set(Elm_Ctxpopup_Item *item, const char *label) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_hover_parent_set(Evas_Object *obj, Evas_Object *parent) EINA_ARG_NONNULL(1, 2);
+   EAPI Evas_Object        *elm_ctxpopup_hover_parent_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_clear(Evas_Object* obj) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_horizontal_set(Evas_Object* obj, Eina_Bool horizontal) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool           elm_ctxpopup_horizontal_get(const Evas_Object *obj) EINA_ARG_NONNULL(1);
+   EAPI Elm_Ctxpopup_Item  *elm_ctxpopup_item_append(Evas_Object *obj, const char *label, Evas_Object *icon, Evas_Smart_Cb func, const void *data) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_item_del(Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
+   EAPI void                elm_ctxpopup_item_disabled_set(Elm_Ctxpopup_Item *item, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool           elm_ctxpopup_item_disabled_get(const Elm_Ctxpopup_Item *item) EINA_ARG_NONNULL(1);
    /* smart callbacks called:
     * "dismissed" - the ctxpopup was dismissed
     */
@@ -2421,65 +2421,65 @@ extern "C" {
    typedef struct _Elm_Transit Elm_Transit;
 
    EAPI Elm_Transit           *elm_transit_add(double duration);
-   EAPI void                   elm_transit_del(Elm_Transit *transit);
-   EAPI void                   elm_transit_effect_add(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit *transit, double progress), void *data, void (*data_free_cb)(void *data, Elm_Transit *transit));
-   EAPI void                   elm_transit_effect_del(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit *transit, double progress), void *data);
-   EAPI void                   elm_transit_object_add(Elm_Transit *transit, Evas_Object *obj);
-   EAPI void                   elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj);
-   EAPI const Eina_List       *elm_transit_objects_get(const Elm_Transit *transit);
-   EAPI void                   elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled);
-   EAPI Eina_Bool              elm_transit_event_block_get(const Elm_Transit *transit);
-   EAPI void                   elm_transit_del_cb_set(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit* transit), void *data);
-   EAPI void                   elm_transit_auto_reverse_set(Elm_Transit *transit, Eina_Bool reverse);
-   EAPI Eina_Bool              elm_transit_auto_reverse_get(Elm_Transit *transit) EINA_ARG_NONNULL(1);
-   EAPI void                   elm_transit_repeat_times_set(Elm_Transit *transit, int repeat);
-   EAPI int                    elm_transit_repeat_times_get(Elm_Transit *transit);
-   EAPI void                   elm_transit_tween_mode_set(Elm_Transit *transit, Elm_Transit_Tween_Mode tween_mode);
-   EAPI Elm_Transit_Tween_Mode elm_transit_tween_mode_get(Elm_Transit *transit) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_del(Elm_Transit *transit) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_effect_add(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit *transit, double progress), void *data, void (*data_free_cb)(void *data, Elm_Transit *transit)) EINA_ARG_NONNULL(1, 2);
+   EAPI void                   elm_transit_effect_del(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit *transit, double progress), void *data) EINA_ARG_NONNULL(1, 2);
+   EAPI void                   elm_transit_object_add(Elm_Transit *transit, Evas_Object *obj) EINA_ARG_NONNULL(1, 2);
+   EAPI void                   elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj) EINA_ARG_NONNULL(1, 2);
+   EAPI const Eina_List       *elm_transit_objects_get(const Elm_Transit *transit) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool              elm_transit_event_block_get(const Elm_Transit *transit) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_del_cb_set(Elm_Transit *transit, void (*cb)(void *data, Elm_Transit* transit), void *data) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_auto_reverse_set(Elm_Transit *transit, Eina_Bool reverse) EINA_ARG_NONNULL(1);
+   EAPI Eina_Bool              elm_transit_auto_reverse_get(Elm_Transit *transit) EINA_ARG_NONNULL(1) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_repeat_times_set(Elm_Transit *transit, int repeat) EINA_ARG_NONNULL(1);
+   EAPI int                    elm_transit_repeat_times_get(Elm_Transit *transit) EINA_ARG_NONNULL(1);
+   EAPI void                   elm_transit_tween_mode_set(Elm_Transit *transit, Elm_Transit_Tween_Mode tween_mode) EINA_ARG_NONNULL(1);
+   EAPI Elm_Transit_Tween_Mode elm_transit_tween_mode_get(Elm_Transit *transit) EINA_ARG_NONNULL(1) EINA_ARG_NONNULL(1);
 
    EAPI void           *elm_transit_effect_resizing_context_new(Evas_Coord from_w, Evas_Coord from_h, Evas_Coord to_w, Evas_Coord to_h);
-   EAPI void            elm_transit_effect_resizing_op(void *data, Elm_Transit *transit, double progress);
+   EAPI void            elm_transit_effect_resizing_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
    EAPI void            elm_transit_effect_resizing_context_free(void *data, Elm_Transit *transit);
 
    EAPI void           *elm_transit_effect_translation_context_new(Evas_Coord from_dx, Evas_Coord from_dy, Evas_Coord to_dx, Evas_Coord to_dy);
-   EAPI void            elm_transit_effect_translation_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_translation_context_free(void *data, Elm_Transit *transit);
+   EAPI void            elm_transit_effect_translation_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
+   EAPI void            elm_transit_effect_translation_context_free(void *data, Elm_Transit *transit) EINA_ARG_NONNULL(1);
 
    EAPI void           *elm_transit_effect_zoom_context_new(float from_rate, float to_rate);
-   EAPI void            elm_transit_effect_zoom_op(void *data, Elm_Transit *transit, double progress);
+   EAPI void            elm_transit_effect_zoom_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
    EAPI void            elm_transit_effect_zoom_context_free(void *data, Elm_Transit *transit);
 
    EAPI void           *elm_transit_effect_flip_context_new(Elm_Fx_Flip_Axis axis, Eina_Bool cw);
-   EAPI void            elm_transit_effect_flip_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_flip_context_free(void *data, Elm_Transit *transit);
+   EAPI void            elm_transit_effect_flip_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
+   EAPI void            elm_transit_effect_flip_context_free(void *data, Elm_Transit *transit) EINA_ARG_NONNULL(1, 2);
 
    EAPI void           *elm_transit_effect_resizable_flip_context_new(Elm_Fx_Flip_Axis axis, Eina_Bool cw);
-   EAPI void            elm_transit_effect_resizable_flip_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_resizable_flip_context_free(void *data, Elm_Transit *transit);
+   EAPI void            elm_transit_effect_resizable_flip_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1);
+   EAPI void            elm_transit_effect_resizable_flip_context_free(void *data, Elm_Transit *transit) EINA_ARG_NONNULL(1);
 
    EAPI void           *elm_transit_effect_wipe_context_new(Elm_Fx_Wipe_Type type, Elm_Fx_Wipe_Dir dir);
-   EAPI void            elm_transit_effect_wipe_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_wipe_context_free(void *data, Elm_Transit *transit);
+   EAPI void            elm_transit_effect_wipe_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
+   EAPI void            elm_transit_effect_wipe_context_free(void *data, Elm_Transit *transit) EINA_ARG_NONNULL(1, 2);
 
    EAPI void           *elm_transit_effect_color_context_new(unsigned int from_r, unsigned int from_g, unsigned int from_b, unsigned int from_a, unsigned int to_r, unsigned int to_g, unsigned int to_b, unsigned int to_a);
-   EAPI void            elm_transit_effect_color_op(void *data, Elm_Transit *transit, double progress);
+   EAPI void            elm_transit_effect_color_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
    EAPI void            elm_transit_effect_color_context_free(void *data, Elm_Transit *transit);
 
    EAPI void           *elm_transit_effect_fade_context_new(void);
-   EAPI void            elm_transit_effect_fade_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_fade_context_free(void *data, Elm_Transit *tranasit);
+   EAPI void            elm_transit_effect_fade_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1);
+   EAPI void            elm_transit_effect_fade_context_free(void *data, Elm_Transit *tranasit) EINA_ARG_NONNULL(1);
 
    EAPI void           *elm_transit_effect_blend_context_new(void);
-   EAPI void            elm_transit_effect_blend_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_blend_context_free(void *data, Elm_Transit *transit);
+   EAPI void            elm_transit_effect_blend_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
+   EAPI void            elm_transit_effect_blend_context_free(void *data, Elm_Transit *transit) EINA_ARG_NONNULL(1);
 
    EAPI void           *elm_transit_effect_rotation_context_new(float from_degree, float to_degree, Eina_Bool cw);
-   EAPI void            elm_transit_effect_rotation_op(void *data, Elm_Transit *transit, double progress);
+   EAPI void            elm_transit_effect_rotation_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
    EAPI void            elm_transit_effect_rotation_context_free(void *data, Elm_Transit *transit);
 
    EAPI void           *elm_transit_effect_image_animation_context_new(Eina_List *images);
-   EAPI void            elm_transit_effect_image_animation_op(void *data, Elm_Transit *transit, double progress);
-   EAPI void            elm_transit_effect_image_animation_context_free(void *data, Elm_Transit *transit);
+   EAPI void            elm_transit_effect_image_animation_op(void *data, Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
+   EAPI void            elm_transit_effect_image_animation_context_free(void *data, Elm_Transit *transit) EINA_ARG_NONNULL(1);
 
   typedef struct _Elm_Store                      Elm_Store;
   typedef struct _Elm_Store_Filesystem           Elm_Store_Filesystem;
@@ -2572,26 +2572,26 @@ extern "C" {
   EAPI void                    elm_store_free(Elm_Store *st);
   
   EAPI Elm_Store              *elm_store_filesystem_new(void);
-  EAPI void                    elm_store_filesystem_directory_set(Elm_Store *st, const char *dir);
-  EAPI const char             *elm_store_filesystem_directory_get(const Elm_Store *st);
-  EAPI const char             *elm_store_item_filesystem_path_get(const Elm_Store_Item *sti);
+  EAPI void                    elm_store_filesystem_directory_set(Elm_Store *st, const char *dir) EINA_ARG_NONNULL(1);
+  EAPI const char             *elm_store_filesystem_directory_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+  EAPI const char             *elm_store_item_filesystem_path_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
   
-  EAPI void                    elm_store_target_genlist_set(Elm_Store *st, Evas_Object *obj);
+  EAPI void                    elm_store_target_genlist_set(Elm_Store *st, Evas_Object *obj) EINA_ARG_NONNULL(1);
   
-  EAPI void                    elm_store_cache_set(Elm_Store *st, int max);
-  EAPI int                     elm_store_cache_get(const Elm_Store *st);
-  EAPI void                    elm_store_list_func_set(Elm_Store *st, Elm_Store_Item_List_Cb func, const void *data);
-  EAPI void                    elm_store_fetch_func_set(Elm_Store *st, Elm_Store_Item_Fetch_Cb func, const void *data);
-  EAPI void                    elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool use_thread);
-  EAPI Eina_Bool               elm_store_fetch_thread_get(const Elm_Store *st);
+  EAPI void                    elm_store_cache_set(Elm_Store *st, int max) EINA_ARG_NONNULL(1);
+  EAPI int                     elm_store_cache_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+  EAPI void                    elm_store_list_func_set(Elm_Store *st, Elm_Store_Item_List_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+  EAPI void                    elm_store_fetch_func_set(Elm_Store *st, Elm_Store_Item_Fetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+  EAPI void                    elm_store_fetch_thread_set(Elm_Store *st, Eina_Bool use_thread) EINA_ARG_NONNULL(1);
+  EAPI Eina_Bool               elm_store_fetch_thread_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
   
-  EAPI void                    elm_store_unfetch_func_set(Elm_Store *st, Elm_Store_Item_Unfetch_Cb func, const void *data);
-  EAPI void                    elm_store_sorted_set(Elm_Store *st, Eina_Bool sorted);
-  EAPI Eina_Bool               elm_store_sorted_get(const Elm_Store *st);
-  EAPI void                    elm_store_item_data_set(Elm_Store_Item *sti, void *data);
-  EAPI void                   *elm_store_item_data_get(Elm_Store_Item *sti);
-  EAPI const Elm_Store        *elm_store_item_store_get(const Elm_Store_Item *sti);
-  EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti);
+  EAPI void                    elm_store_unfetch_func_set(Elm_Store *st, Elm_Store_Item_Unfetch_Cb func, const void *data) EINA_ARG_NONNULL(1, 2);
+  EAPI void                    elm_store_sorted_set(Elm_Store *st, Eina_Bool sorted) EINA_ARG_NONNULL(1);
+  EAPI Eina_Bool               elm_store_sorted_get(const Elm_Store *st) EINA_ARG_NONNULL(1);
+  EAPI void                    elm_store_item_data_set(Elm_Store_Item *sti, void *data) EINA_ARG_NONNULL(1);
+  EAPI void                   *elm_store_item_data_get(Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+  EAPI const Elm_Store        *elm_store_item_store_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
+  EAPI const Elm_Genlist_Item *elm_store_item_genlist_item_get(const Elm_Store_Item *sti) EINA_ARG_NONNULL(1);
   
 #ifdef __cplusplus
 }