wl2 is indeed not stable and will be marked as such in the very near future
before the final release.

On Wed, Jan 6, 2016 at 11:54 AM Stefan Schmidt <ste...@osg.samsung.com>
wrote:

> Hello.
>
> On 06/01/16 17:22, Tom Hacohen wrote:
> > On 06/01/16 15:52, Stefan Schmidt wrote:
> >> Hello.
> >>
> >> On 05/01/16 17:05, Tom Hacohen wrote:
> >>> Hey,
> >>>
> >>> Here again, the new EFL + Elementary ABI reports.
> >>>
> >>> As usual:
> >>> https://devs.enlightenment.org/~tasn/abi/
> >> My review for EFL. Happy about every other review or comment here.
> >>
> >> Ignoring the unstable EO APIs as well as ector which is marked as
> >> unstable we have still a big number of new APIs:
> >>
> >> Ecore_Evas.h
> >> ecore_evas_cocoa_window_get ( Ecore_Evas const* ee )
> >> ecore_evas_wayland_window_get2 ( Ecore_Evas const* ee )
> >>
> >> Ecore_Wl2.h
> >> ecore_wl2_display_compositor_version_get ( Ecore_Wl2_Display* disp )
> >> ecore_wl2_display_connect ( char const* name )
> >> ecore_wl2_display_create ( char const* name )
> >> ecore_wl2_display_destroy ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_disconnect ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_get ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_globals_get ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_registry_get ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_screen_size_get ( Ecore_Wl2_Display* display, int* w,
> >> int* h )
> >> ecore_wl2_display_shm_get ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_terminate ( Ecore_Wl2_Display* display )
> >> ecore_wl2_display_window_find ( Ecore_Wl2_Display* display, unsigned int
> >> id )
> >> ecore_wl2_dnd_drag_end ( Ecore_Wl2_Input* input )
> >> ecore_wl2_dnd_drag_get ( Ecore_Wl2_Input* input, char const* type )
> >> ecore_wl2_dnd_drag_start ( Ecore_Wl2_Input* input, Ecore_Wl2_Window*
> >> window, Ecore_Wl2_Window* drag_window )
> >> ecore_wl2_dnd_drag_types_set ( Ecore_Wl2_Input* input, char const**
> types )
> >> ecore_wl2_dnd_selection_clear ( Ecore_Wl2_Input* input )
> >> ecore_wl2_dnd_selection_get ( Ecore_Wl2_Input* input, char const* type )
> >> ecore_wl2_dnd_selection_owner_has ( Ecore_Wl2_Input* input )
> >> ecore_wl2_dnd_selection_set ( Ecore_Wl2_Input* input, char const**
> types )
> >> ECORE_WL2_EVENT_DATA_SOURCE_CANCELLED [data]
> >> ECORE_WL2_EVENT_DATA_SOURCE_SEND [data]
> >> ECORE_WL2_EVENT_DATA_SOURCE_TARGET [data]
> >> ECORE_WL2_EVENT_DND_DROP [data]
> >> ECORE_WL2_EVENT_DND_END [data]
> >> ECORE_WL2_EVENT_DND_ENTER [data]
> >> ECORE_WL2_EVENT_DND_LEAVE [data]
> >> ECORE_WL2_EVENT_DND_MOTION [data]
> >> ECORE_WL2_EVENT_FOCUS_IN [data]
> >> ECORE_WL2_EVENT_FOCUS_OUT [data]
> >> ECORE_WL2_EVENT_GLOBAL_ADDED [data]
> >> ECORE_WL2_EVENT_GLOBAL_REMOVED [data]
> >> ECORE_WL2_EVENT_SELECTION_DATA_READY [data]
> >> ECORE_WL2_EVENT_SYNC_DONE [data]
> >> ECORE_WL2_EVENT_WINDOW_CONFIGURE [data]
> >> ecore_wl2_init ( )
> >> ecore_wl2_input_seat_get ( Ecore_Wl2_Input* input )
> >> ecore_wl2_input_ungrab ( Ecore_Wl2_Input* input )
> >> ecore_wl2_keyboard_get ( Ecore_Wl2_Seat* seat )
> >> ecore_wl2_keyboard_repeat_info_set ( Ecore_Wl2_Keyboard* kbd, double
> >> rate, double delay )
> >> ecore_wl2_keyboard_resource_create ( Ecore_Wl2_Keyboard* kbd, struct
> >> wl_client* client, struct wl_keyboard_interface const* implementation,
> >> int version, uint32_t id )
> >> ecore_wl2_output_dpi_get ( Ecore_Wl2_Output* output )
> >> ecore_wl2_pointer_get ( Ecore_Wl2_Seat* seat )
> >> ecore_wl2_pointer_resource_create ( Ecore_Wl2_Pointer* ptr, struct
> >> wl_client* client, struct wl_pointer_interface const* implementation,
> >> int version, uint32_t id )
> >> ecore_wl2_seat_capabilities_send ( Ecore_Wl2_Seat* seat, enum
> >> wl_seat_capability caps )
> >> ecore_wl2_seat_create ( Ecore_Wl2_Display* display, char const* name,
> >> struct wl_seat_interface const* implementation, int version,
> >> Ecore_Wl2_Bind_Cb bind_cb, Ecore_Wl2_Unbind_Cb unbind_cb )
> >> ecore_wl2_seat_destroy ( Ecore_Wl2_Seat* seat )
> >> ecore_wl2_seat_pointer_release ( Ecore_Wl2_Seat* seat )
> >> ecore_wl2_shutdown ( )
> >> ecore_wl2_subsurface_del ( Ecore_Wl2_Subsurface* subsurface )
> >> ecore_wl2_subsurface_new ( Ecore_Wl2_Window* window )
> >> ecore_wl2_subsurface_opaque_region_set ( Ecore_Wl2_Subsurface*
> >> subsurface, int x, int y, int w, int h )
> >> ecore_wl2_subsurface_place_above ( Ecore_Wl2_Subsurface* subsurface,
> >> struct wl_surface* surface )
> >> ecore_wl2_subsurface_place_below ( Ecore_Wl2_Subsurface* subsurface,
> >> struct wl_surface* surface )
> >> ecore_wl2_subsurface_position_get ( Ecore_Wl2_Subsurface* subsurface,
> >> int* x, int* y )
> >> ecore_wl2_subsurface_position_set ( Ecore_Wl2_Subsurface* subsurface,
> >> int x, int y )
> >> ecore_wl2_subsurface_surface_get ( Ecore_Wl2_Subsurface* subsurface )
> >> ecore_wl2_subsurface_sync_set ( Ecore_Wl2_Subsurface* subsurface,
> >> Eina_Bool sync )
> >> ecore_wl2_window_alpha_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_alpha_set ( Ecore_Wl2_Window* window, Eina_Bool alpha )
> >> ecore_wl2_window_class_set ( Ecore_Wl2_Window* window, char const* clas
> )
> >> ecore_wl2_window_cursor_from_name_set ( Ecore_Wl2_Window* window, char
> >> const* cursor )
> >> ecore_wl2_window_display_get ( Ecore_Wl2_Window const* window )
> >> ecore_wl2_window_free ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_fullscreen_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_fullscreen_set ( Ecore_Wl2_Window* window, Eina_Bool
> >> fullscreen )
> >> ecore_wl2_window_geometry_get ( Ecore_Wl2_Window* window, int* x, int*
> >> y, int* w, int* h )
> >> ecore_wl2_window_geometry_set ( Ecore_Wl2_Window* window, int x, int y,
> >> int w, int h )
> >> ecore_wl2_window_hide ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_iconified_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_iconified_set ( Ecore_Wl2_Window* window, Eina_Bool
> >> iconified )
> >> ecore_wl2_window_id_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_input_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_input_region_set ( Ecore_Wl2_Window* window, int x, int
> >> y, int w, int h )
> >> ecore_wl2_window_maximized_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_maximized_set ( Ecore_Wl2_Window* window, Eina_Bool
> >> maximized )
> >> ecore_wl2_window_move ( Ecore_Wl2_Window* window, int x, int y )
> >> ecore_wl2_window_new ( Ecore_Wl2_Display* display, Ecore_Wl2_Window*
> >> parent, int x, int y, int w, int h )
> >> ecore_wl2_window_opaque_region_set ( Ecore_Wl2_Window* window, int x,
> >> int y, int w, int h )
> >> ecore_wl2_window_pointer_set ( Ecore_Wl2_Window* window, struct
> >> wl_surface* surface, int hot_x, int hot_y )
> >> ecore_wl2_window_pointer_xy_get ( Ecore_Wl2_Window* window, int* x,
> int* y )
> >> ecore_wl2_window_raise ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_resize ( Ecore_Wl2_Window* window, int w, int h, int
> >> location )
> >> ecore_wl2_window_rotation_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_rotation_set ( Ecore_Wl2_Window* window, int rotation )
> >> ecore_wl2_window_show ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_surface_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_surface_id_get ( Ecore_Wl2_Window* window )
> >> ecore_wl2_window_title_set ( Ecore_Wl2_Window* window, char const*
> title )
> >> ecore_wl2_window_transparent_set ( Ecore_Wl2_Window* window, Eina_Bool
> >> transparent )
> >> ecore_wl2_window_type_set ( Ecore_Wl2_Window* window,
> >> Ecore_Wl2_Window_Type type )
> >>
> >> Edje_Common.h
> >> edje_mmap_size_class_iterator_new ( Eina_File* f )
> >> edje_mmap_text_class_iterator_new ( Eina_File* f )
> >> edje_size_class_active_iterator_new ( )
> >> edje_size_class_del ( char const* size_class )
> >> edje_size_class_get ( char const* size_class, Evas_Coord* minw,
> >> Evas_Coord* minh, Evas_Coord* maxw, Evas_Coord* maxh )
> >> edje_size_class_list ( )
> >> edje_size_class_set ( char const* size_class, Evas_Coord minw,
> >> Evas_Coord minh, Evas_Coord maxw, Evas_Coord maxh )
> >> edje_text_class_active_iterator_new ( )
> >>
> >> Edje_Legacy.h
> >> edje_object_size_class_del ( Evas_Object* obj, char const* size_class )
> >> edje_object_text_class_del ( Evas_Object* obj, char const* text_class )
> >>
> >> Efl_Model_Common.h
> >> efl_model_error_notify ( Efl_Model_Base* model )
> >> efl_model_list_slice ( Eina_List* list, unsigned int start, unsigned int
> >> count )
> >> efl_model_load_set ( Efl_Model_Base* model, Efl_Model_Load* load, enum
> >> Efl_Model_Load_Status status )
> >> efl_model_property_changed_notify ( Efl_Model_Base* model, char const*
> >> property )
> >> efl_model_property_invalidated_notify ( Efl_Model_Base* model, char
> >> const* property )
> >> efl_model_value_struct_description_free ( Eina_Value_Struct_Desc* desc )
> >> efl_model_value_struct_description_new ( unsigned int member_count,
> >> Efl_Model_Value_Struct_Member_Setup_Cb setup_cb, void* data )
> >>
> >> eina_bezier.h
> >> eina_bezier_bounds_get ( Eina_Bezier const* b, double* x, double* y,
> >> double* w, double* h )
> >> eina_bezier_on_interval ( Eina_Bezier* b, double t0, double t1,
> >> Eina_Bezier* result )
> >>
> >> eina_inline_value.x
> >> eina_value_optional_empty_is ( Eina_Value const* value, Eina_Bool*
> >> is_empty )
> >> eina_value_optional_empty_new ( )
> >> eina_value_optional_type_get ( Eina_Value* value )
> >>
> >> eina_matrix.h
> >> eina_matrix2_array_set ( Eina_Matrix2* m, double const* v )
> >> eina_matrix2_copy ( Eina_Matrix2* dst, Eina_Matrix2 const* src )
> >> eina_matrix2_identity ( Eina_Matrix2* m )
> >> eina_matrix2_inverse ( Eina_Matrix2* out, Eina_Matrix2 const* mat )
> >> eina_matrix2_multiply ( Eina_Matrix2* out, Eina_Matrix2 const* mat_a,
> >> Eina_Matrix2 const* mat_b )
> >> eina_matrix2_multiply_copy ( Eina_Matrix2* out, Eina_Matrix2 const*
> >> mat_a, Eina_Matrix2 const* mat_b )
> >> eina_matrix2_type_get ( Eina_Matrix2 const* m )
> >> eina_matrix2_values_get ( Eina_Matrix2 const* m, double* xx, double* xy,
> >> double* yx, double* yy )
> >> eina_matrix2_values_set ( Eina_Matrix2* m, double xx, double xy, double
> >> yx, double yy )
> >> eina_matrix3_array_set ( Eina_Matrix3* m, double const* v )
> >> eina_matrix3_copy ( Eina_Matrix3* dst, Eina_Matrix3 const* src )
> >> eina_matrix3_multiply ( Eina_Matrix3* out, Eina_Matrix3 const* mat_a,
> >> Eina_Matrix3 const* mat_b )
> >> eina_matrix3_multiply_copy ( Eina_Matrix3* out, Eina_Matrix3 const*
> >> mat_a, Eina_Matrix3 const* mat_b )
> >> eina_matrix3_position_transform_set ( Eina_Matrix3* out, double const
> >> p_x, double const p_y )
> >> eina_matrix3_scale_transform_set ( Eina_Matrix3* out, double s_x, double
> >> s_y )
> >> eina_matrix4_array_set ( Eina_Matrix4* m, double const* v )
> >> eina_matrix4_copy ( Eina_Matrix4* dst, Eina_Matrix4 const* src )
> >> eina_matrix4_multiply_copy ( Eina_Matrix4* out, Eina_Matrix4 const*
> >> mat_a, Eina_Matrix4 const* mat_b )
> >> eina_matrix4_ortho_set ( Eina_Matrix4* m, double left, double right,
> >> double bottom, double top, double dnear, double dfar )
> >> eina_normal3_matrix_get ( Eina_Matrix3* out, Eina_Matrix4 const* m )
> >>
> >> eina_quaternion.h
> >> eina_quaternion_angle_plains ( Eina_Quaternion* a, Eina_Quaternion* b )
> >> eina_quaternion_array_set ( Eina_Quaternion* dst, double const* v )
> >> eina_quaternion_copy ( Eina_Quaternion* dst, Eina_Quaternion const* src
> )
> >> eina_quaternion_distance_get ( Eina_Quaternion const* a, Eina_Quaternion
> >> const* b )
> >> eina_quaternion_distance_square_get ( Eina_Quaternion const* a,
> >> Eina_Quaternion const* b )
> >> eina_quaternion_homogeneous_regulate ( Eina_Quaternion* out,
> >> Eina_Quaternion const* v )
> >> eina_quaternion_inverse ( Eina_Quaternion* out, Eina_Quaternion const*
> q )
> >> eina_quaternion_length_get ( Eina_Quaternion const* v )
> >> eina_quaternion_length_square_get ( Eina_Quaternion const* v )
> >> eina_quaternion_subtract ( Eina_Quaternion* out, Eina_Quaternion const*
> >> a, Eina_Quaternion const* b )
> >> eina_quaternion_transform ( Eina_Quaternion* out, Eina_Quaternion const*
> >> v, Eina_Matrix4 const* m )
> >>
> >> eina_str.h
> >> eina_str_base64_decode ( char const* src, int* decoded_str_len )
> >> eina_str_base64_encode ( unsigned char const* src, unsigned int len )
> >> eina_str_base64url_decode ( char const* src, int* decoded_str_len )
> >> eina_str_base64url_encode ( unsigned char const* src, unsigned int len )
> >> eina_strftime ( char const* format, struct tm const* tm )
> >>
> >> eina_strbuf.h
> >> eina_strbuf_substr_get ( Eina_Strbuf* buf, size_t pos, size_t len )
> >> eina_strbuf_tolower ( Eina_Strbuf* buf )
> >>
> >> eina_tmpstr.h
> >> eina_tmpstr_manage_new ( char* str )
> >> eina_tmpstr_manage_new_length ( char* str, size_t length )
> >>
> >> eina_unicode.h
> >> eina_unicode_unicode_to_utf8_range ( Eina_Unicode const* uni, int ulen,
> >> int* _len )
> >>
> >> eina_value.h
> >> eina_value_optional_new ( Eina_Value_Type const* subtype, void const*
> >> value )
> >> eina_value_optional_pget ( Eina_Value* value, void* subvalue )
> >> eina_value_optional_pset ( Eina_Value* value, Eina_Value_Type const*
> >> subtype, void const* subvalue )
> >> eina_value_optional_reset ( Eina_Value* value )
> >> EINA_VALUE_TYPE_OPTIONAL [data]
> >>
> >> eina_vector.h
> >> eina_vector2_add ( Eina_Vector2* out, Eina_Vector2 const* a,
> >> Eina_Vector2 const* b )
> >> eina_vector2_array_set ( Eina_Vector2* dst, double const* v )
> >> eina_vector2_copy ( Eina_Vector2* dst, Eina_Vector2 const* src )
> >> eina_vector2_distance_get ( Eina_Vector2 const* a, Eina_Vector2 const*
> b )
> >> eina_vector2_distance_square_get ( Eina_Vector2 const* a, Eina_Vector2
> >> const* b )
> >> eina_vector2_dot_product ( Eina_Vector2 const* a, Eina_Vector2 const* b
> )
> >> eina_vector2_homogeneous_direction_transform ( Eina_Vector2* out,
> >> Eina_Matrix3 const* m, Eina_Vector2 const* v )
> >> eina_vector2_homogeneous_position_transform ( Eina_Vector2* out,
> >> Eina_Matrix3 const* m, Eina_Vector2 const* v )
> >> eina_vector2_length_get ( Eina_Vector2 const* v )
> >> eina_vector2_length_square_get ( Eina_Vector2 const* v )
> >> eina_vector2_negate ( Eina_Vector2* out, Eina_Vector2 const* v )
> >> eina_vector2_normalize ( Eina_Vector2* out, Eina_Vector2 const* v )
> >> eina_vector2_scale ( Eina_Vector2* out, Eina_Vector2 const* v, double
> >> scale )
> >> eina_vector2_set ( Eina_Vector2* dst, double x, double y )
> >> eina_vector2_subtract ( Eina_Vector2* out, Eina_Vector2 const* a,
> >> Eina_Vector2 const* b )
> >> eina_vector2_transform ( Eina_Vector2* out, Eina_Matrix2 const* m,
> >> Eina_Vector2 const* v )
> >>
> >> eldbus_freedesktop.h
> >> eldbus_proxy_property_value_set ( Eldbus_Proxy* proxy, char const* name,
> >> char const* sig, Eina_Value const* value, void(*cb)(void*,
> >> Eldbus_Message const*, Eldbus_Pending*), void const* data )
> >>
> >> eldbus_introspection.h
> >> eldbus_introspection_argument_find ( Eina_List* arguments, char const*
> >> name )
> >> eldbus_introspection_interface_find ( Eina_List* interfaces, char const*
> >> name )
> >> eldbus_introspection_node_free ( Eldbus_Introspection_Node* node )
> >> eldbus_introspection_parse ( char const* xml )
> >> eldbus_introspection_property_find ( Eina_List* properties, char const*
> >> name )
> >>
> >> None of these APIs look wrong to me. Its still overhelming to have so
> >> many new ones in this release.
> >>
> >> If you have a problem with one of them please raise your voice.
> > Look OK to me, but indeed, the number feels very high, even without the
> > wl2 APIs (which aren't stable yet, are they?).
>
> They are used in elementary and Enlightenment and are not behind a
> BETA_API define so they will be set in stone once 1.17 is out. If we
> don't want that we need to take care of it now.
>
> regards
> Stefan Schmidt
>
>
> ------------------------------------------------------------------------------
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>
------------------------------------------------------------------------------
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to