The Eo generic object system. More...
Modules | |
| Eo's Event Handling | |
| Eo Class | |
| Composite Objects. | |
| Eo's Base class. | |
Macros | |
| #define | EO_TYPECHECK(type, x) |
| Checks x is castable to type "type" and casts it to it. | |
| #define | EO_NOOP ((Eo_Op) 0) |
| A special Eo_Op meaning "No operation". | |
| #define | eo_do(obj,...) eo_do_internal(obj, EO_OP_TYPE_REGULAR, __VA_ARGS__, EO_NOOP) |
| A convenience wrapper around eo_do_internal() | |
| #define | eo_class_do(klass,...) eo_class_do_internal(klass, __VA_ARGS__, EO_NOOP) |
| A convenience wrapper around eo_class_do_internal() | |
| #define | eo_do_super(obj,...) eo_do_super_internal(obj, EO_OP_TYPE_REGULAR, __VA_ARGS__) |
| Calls the super function for the specific op. | |
| #define | eo_class_do_super(klass,...) eo_class_do_super_internal(klass, __VA_ARGS__) |
| Calls the super function for the specific op. | |
| #define | eo_error_set(obj) eo_error_set_internal(obj, __FILE__, __LINE__) |
| Notify eo that there was an error when constructing, destructing or calling a function of the object. | |
| #define | eo_add(klass, parent,...) |
| Create a new object with the default constructor. | |
| #define | eo_add_custom(klass, parent,...) |
| Create a new object with a custom constructor. | |
| #define | eo_xref(obj, ref_obj) eo_xref_internal(obj, ref_obj, __FILE__, __LINE__) |
| Convenience macro around eo_xref_internal() | |
Typedefs | |
| typedef struct _Eo | Eo |
| The basic Object type. | |
| typedef unsigned int | Eo_Op |
| The Eo operation type id. | |
| typedef void(* | eo_op_func_type )(Eo *, void *class_data, va_list *list) |
| The type of the Op functions. | |
| typedef void(* | eo_op_func_type_class )(const Eo_Class *, va_list *list) |
| The type of the class Op functions. | |
Functions | |
| Eina_Bool | eo_init (void) |
| Init the eo subsystem. | |
| Eina_Bool | eo_shutdown (void) |
| Shutdown the eo subsystem. | |
| Eina_Bool | eo_do_internal (Eo *obj, Eo_Op_Type op_type,...) |
| Calls op functions of an object. | |
| Eina_Bool | eo_class_do_internal (const Eo_Class *klass,...) |
| Calls op functions of a class. | |
| Eina_Bool | eo_do_super_internal (Eo *obj, Eo_Op_Type op_type, Eo_Op op,...) |
| Calls the super function for the specific op. | |
| Eina_Bool | eo_class_do_super_internal (const Eo_Class *klass, Eo_Op op,...) |
| Calls the super function for the specific op. | |
| const Eo_Class * | eo_class_get (const Eo *obj) |
| Gets the class of the object. | |
| Eo * | eo_add_internal (const Eo_Class *klass, Eo *parent,...) |
| Create a new object. | |
| Eo * | eo_parent_get (const Eo *obj) |
| Get the parent of an object. | |
| Eina_Bool | eo_parent_set (Eo *obj, const Eo *parent) |
| Set the parent of an object. | |
| void * | eo_data_get (const Eo *obj, const Eo_Class *klass) |
| Get a pointer to the data of an object for a specific class. | |
| Eo * | eo_ref (const Eo *obj) |
| Increment the object's reference count by 1. | |
| void | eo_unref (const Eo *obj) |
| Decrement the object's reference count by 1 and free it if needed. | |
| int | eo_ref_get (const Eo *obj) |
| Return the ref count of the object passed. | |
| void | eo_del (const Eo *obj) |
| Unrefs the object and reparents it to NULL. | |
| Eo * | eo_xref_internal (Eo *obj, const Eo *ref_obj, const char *file, int line) |
| Increment the object's reference count by 1 (and associate the ref with ref_obj) | |
| void | eo_xunref (Eo *obj, const Eo *ref_obj) |
| Decrement the object's reference count by 1 and free it if needed. | |
| void | eo_manual_free_set (Eo *obj, Eina_Bool manual_free) |
| Enable or disable the manual free feature. | |
| void | eo_manual_free (Eo *obj) |
| Frees the object. | |
| Eina_Bool | eo_destructed_is (const Eo *obj) |
| Checks if the object was already descructed (only relevant for manual_free objects). | |
Detailed Description
The Eo generic object system.
It was designed to be the base object system for the EFL.
Macro Definition Documentation
| #define EO_TYPECHECK | ( | type, | |
| x | |||
| ) |
Checks x is castable to type "type" and casts it to it.
- Parameters
-
type The C type to check against. x the variable to test and cast.
| #define eo_do | ( | obj, | |
| ... | |||
| ) | eo_do_internal(obj, EO_OP_TYPE_REGULAR, __VA_ARGS__, EO_NOOP) |
A convenience wrapper around eo_do_internal()
- See Also
- eo_do_internal
Referenced by ecore_animator_freeze(), ecore_animator_thaw(), ecore_poller_poller_interval_get(), ecore_poller_poller_interval_set(), ecore_timer_delay(), ecore_timer_freeze(), ecore_timer_interval_get(), ecore_timer_interval_set(), ecore_timer_pending_get(), ecore_timer_reset(), ecore_timer_thaw(), evas_coord_screen_x_to_world(), evas_coord_screen_y_to_world(), evas_coord_world_x_to_screen(), evas_coord_world_y_to_screen(), evas_damage_rectangle_add(), evas_data_attach_get(), evas_data_attach_set(), evas_engine_info_get(), evas_engine_info_set(), evas_event_default_flags_get(), evas_event_default_flags_set(), evas_event_down_count_get(), evas_event_feed_hold(), evas_event_feed_key_down(), evas_event_feed_key_up(), evas_event_feed_mouse_cancel(), evas_event_feed_mouse_down(), evas_event_feed_mouse_in(), evas_event_feed_mouse_move(), evas_event_feed_mouse_out(), evas_event_feed_mouse_up(), evas_event_feed_mouse_wheel(), evas_event_freeze(), evas_event_freeze_get(), evas_event_refeed_event(), evas_event_thaw(), evas_focus_get(), evas_focus_in(), evas_focus_out(), evas_focus_state_get(), evas_font_available_list(), evas_font_cache_flush(), evas_font_cache_get(), evas_font_cache_set(), evas_font_hinting_can_hint(), evas_font_hinting_get(), evas_font_hinting_set(), evas_font_path_append(), evas_font_path_clear(), evas_font_path_list(), evas_font_path_prepend(), evas_image_cache_flush(), evas_image_cache_get(), evas_image_cache_reload(), evas_image_cache_set(), evas_image_max_size_get(), evas_key_lock_add(), evas_key_lock_del(), evas_key_lock_get(), evas_key_lock_off(), evas_key_lock_on(), evas_key_modifier_add(), evas_key_modifier_del(), evas_key_modifier_get(), evas_key_modifier_mask_get(), evas_key_modifier_off(), evas_key_modifier_on(), evas_nochange_pop(), evas_nochange_push(), evas_norender(), evas_object_above_get(), evas_object_anti_alias_get(), evas_object_anti_alias_set(), evas_object_below_get(), evas_object_bottom_get(), evas_object_box_accessor_new(), evas_object_box_add_to(), evas_object_box_align_get(), evas_object_box_align_set(), evas_object_box_append(), evas_object_box_insert_after(), evas_object_box_insert_at(), evas_object_box_insert_before(), evas_object_box_iterator_new(), evas_object_box_layout_set(), evas_object_box_option_property_id_get(), evas_object_box_option_property_name_get(), evas_object_box_option_property_vget(), evas_object_box_option_property_vset(), evas_object_box_padding_get(), evas_object_box_padding_set(), evas_object_box_prepend(), evas_object_box_remove(), evas_object_box_remove_all(), evas_object_box_remove_at(), evas_object_clip_get(), evas_object_clip_set(), evas_object_clip_unset(), evas_object_clipees_get(), evas_object_color_get(), evas_object_color_set(), evas_object_data_del(), evas_object_data_get(), evas_object_data_set(), evas_object_evas_get(), evas_object_focus_get(), evas_object_focus_set(), evas_object_freeze_events_get(), evas_object_freeze_events_set(), evas_object_geometry_get(), evas_object_grid_accessor_new(), evas_object_grid_add_to(), evas_object_grid_children_get(), evas_object_grid_clear(), evas_object_grid_iterator_new(), evas_object_grid_mirrored_get(), evas_object_grid_mirrored_set(), evas_object_grid_pack(), evas_object_grid_pack_get(), evas_object_grid_size_get(), evas_object_grid_size_set(), evas_object_grid_unpack(), evas_object_hide(), evas_object_image_alpha_get(), evas_object_image_alpha_set(), evas_object_image_animated_frame_count_get(), evas_object_image_animated_frame_duration_get(), evas_object_image_animated_frame_set(), evas_object_image_animated_get(), evas_object_image_animated_loop_count_get(), evas_object_image_animated_loop_type_get(), evas_object_image_border_center_fill_get(), evas_object_image_border_center_fill_set(), evas_object_image_border_get(), evas_object_image_border_scale_get(), evas_object_image_border_scale_set(), evas_object_image_border_set(), evas_object_image_colorspace_get(), evas_object_image_colorspace_set(), evas_object_image_content_hint_get(), evas_object_image_content_hint_set(), evas_object_image_data_convert(), evas_object_image_data_copy_set(), evas_object_image_data_get(), evas_object_image_data_set(), evas_object_image_data_update_add(), evas_object_image_file_get(), evas_object_image_file_set(), evas_object_image_fill_get(), evas_object_image_fill_set(), evas_object_image_fill_spread_get(), evas_object_image_fill_spread_set(), evas_object_image_filled_get(), evas_object_image_filled_set(), evas_object_image_load_dpi_get(), evas_object_image_load_dpi_set(), evas_object_image_load_error_get(), evas_object_image_load_orientation_get(), evas_object_image_load_orientation_set(), evas_object_image_load_region_get(), evas_object_image_load_region_set(), evas_object_image_load_scale_down_get(), evas_object_image_load_scale_down_set(), evas_object_image_load_size_get(), evas_object_image_load_size_set(), evas_object_image_memfile_set(), evas_object_image_native_surface_get(), evas_object_image_native_surface_set(), evas_object_image_pixels_dirty_get(), evas_object_image_pixels_dirty_set(), evas_object_image_pixels_get_callback_set(), evas_object_image_pixels_import(), evas_object_image_preload(), evas_object_image_region_support_get(), evas_object_image_reload(), evas_object_image_save(), evas_object_image_scale_hint_get(), evas_object_image_scale_hint_set(), evas_object_image_size_get(), evas_object_image_size_set(), evas_object_image_smooth_scale_get(), evas_object_image_smooth_scale_set(), evas_object_image_source_events_get(), evas_object_image_source_events_set(), evas_object_image_source_get(), evas_object_image_source_set(), evas_object_image_source_unset(), evas_object_image_source_visible_get(), evas_object_image_source_visible_set(), evas_object_image_stride_get(), evas_object_image_video_surface_get(), evas_object_image_video_surface_set(), evas_object_key_grab(), evas_object_key_ungrab(), evas_object_layer_get(), evas_object_layer_set(), evas_object_line_xy_get(), evas_object_line_xy_set(), evas_object_lower(), evas_object_map_enable_get(), evas_object_map_enable_set(), evas_object_map_get(), evas_object_map_set(), evas_object_move(), evas_object_name_child_find(), evas_object_name_find(), evas_object_name_get(), evas_object_name_set(), evas_object_pass_events_get(), evas_object_pass_events_set(), evas_object_pointer_mode_get(), evas_object_pointer_mode_set(), evas_object_polygon_point_add(), evas_object_polygon_points_clear(), evas_object_precise_is_inside_get(), evas_object_precise_is_inside_set(), evas_object_propagate_events_get(), evas_object_propagate_events_set(), evas_object_raise(), evas_object_render_op_get(), evas_object_render_op_set(), evas_object_repeat_events_get(), evas_object_repeat_events_set(), evas_object_resize(), evas_object_scale_get(), evas_object_scale_set(), evas_object_show(), evas_object_size_hint_align_get(), evas_object_size_hint_align_set(), evas_object_size_hint_aspect_get(), evas_object_size_hint_aspect_set(), evas_object_size_hint_max_get(), evas_object_size_hint_max_set(), evas_object_size_hint_min_get(), evas_object_size_hint_min_set(), evas_object_size_hint_padding_get(), evas_object_size_hint_padding_set(), evas_object_size_hint_request_get(), evas_object_size_hint_request_set(), evas_object_size_hint_weight_get(), evas_object_size_hint_weight_set(), evas_object_smart_add(), evas_object_smart_calculate(), evas_object_smart_callback_call(), evas_object_smart_callback_description_find(), evas_object_smart_callbacks_descriptions_get(), evas_object_smart_callbacks_descriptions_set(), evas_object_smart_changed(), evas_object_smart_clipped_clipper_get(), evas_object_smart_data_get(), evas_object_smart_data_set(), evas_object_smart_member_add(), evas_object_smart_member_del(), evas_object_smart_members_get(), evas_object_smart_move_children_relative(), evas_object_smart_need_recalculate_get(), evas_object_smart_need_recalculate_set(), evas_object_smart_parent_get(), evas_object_smart_smart_get(), evas_object_smart_type_check(), evas_object_smart_type_check_ptr(), evas_object_stack_above(), evas_object_stack_below(), evas_object_static_clip_get(), evas_object_static_clip_set(), evas_object_table_accessor_new(), evas_object_table_add_to(), evas_object_table_align_get(), evas_object_table_align_set(), evas_object_table_children_get(), evas_object_table_clear(), evas_object_table_col_row_size_get(), evas_object_table_homogeneous_get(), evas_object_table_homogeneous_set(), evas_object_table_iterator_new(), evas_object_table_mirrored_get(), evas_object_table_mirrored_set(), evas_object_table_pack(), evas_object_table_pack_get(), evas_object_table_padding_get(), evas_object_table_padding_set(), evas_object_table_unpack(), evas_object_text_bidi_delimiters_get(), evas_object_text_bidi_delimiters_set(), evas_object_text_char_pos_get(), evas_object_text_direction_get(), evas_object_text_ellipsis_get(), evas_object_text_ellipsis_set(), evas_object_text_font_get(), evas_object_text_font_set(), evas_object_text_font_source_get(), evas_object_text_font_source_set(), evas_object_text_glow2_color_get(), evas_object_text_glow2_color_set(), evas_object_text_glow_color_get(), evas_object_text_glow_color_set(), evas_object_text_last_up_to_pos(), evas_object_text_outline_color_get(), evas_object_text_outline_color_set(), evas_object_text_shadow_color_get(), evas_object_text_shadow_color_set(), evas_object_text_style_get(), evas_object_text_style_pad_get(), evas_object_text_style_set(), evas_object_text_text_get(), evas_object_text_text_set(), evas_object_textblock_bidi_delimiters_get(), evas_object_textblock_bidi_delimiters_set(), evas_object_textblock_cursor_get(), evas_object_textblock_cursor_new(), evas_object_textblock_legacy_newline_get(), evas_object_textblock_legacy_newline_set(), evas_object_textblock_line_number_geometry_get(), evas_object_textblock_replace_char_get(), evas_object_textblock_replace_char_set(), evas_object_textblock_size_formatted_get(), evas_object_textblock_size_native_get(), evas_object_textblock_style_get(), evas_object_textblock_style_set(), evas_object_textblock_style_user_peek(), evas_object_textblock_style_user_pop(), evas_object_textblock_style_user_push(), evas_object_textblock_text_markup_get(), evas_object_textblock_text_markup_set(), evas_object_textblock_valign_get(), evas_object_textblock_valign_set(), evas_object_textgrid_cell_size_get(), evas_object_textgrid_cellrow_get(), evas_object_textgrid_cellrow_set(), evas_object_textgrid_font_get(), evas_object_textgrid_font_set(), evas_object_textgrid_font_source_get(), evas_object_textgrid_font_source_set(), evas_object_textgrid_palette_get(), evas_object_textgrid_palette_set(), evas_object_textgrid_size_get(), evas_object_textgrid_size_set(), evas_object_textgrid_update_add(), evas_object_top_at_pointer_get(), evas_object_top_at_xy_get(), evas_object_top_get(), evas_object_top_in_rectangle_get(), evas_object_type_get(), evas_object_visible_get(), evas_objects_at_xy_get(), evas_objects_in_rectangle_get(), evas_obscured_clear(), evas_obscured_rectangle_add(), evas_output_framespace_get(), evas_output_framespace_set(), evas_output_method_get(), evas_output_method_set(), evas_output_size_get(), evas_output_size_set(), evas_output_viewport_get(), evas_output_viewport_set(), evas_pointer_button_down_mask_get(), evas_pointer_canvas_xy_get(), evas_pointer_inside_get(), evas_pointer_output_xy_get(), evas_render(), evas_render_async(), evas_render_dump(), evas_render_idle_flush(), evas_render_updates(), evas_smart_objects_calculate(), evas_smart_objects_calculate_count_get(), evas_textblock_node_format_first_get(), evas_textblock_node_format_last_get(), evas_textblock_node_format_list_get(), evas_textblock_node_format_remove_pair(), evas_touch_point_list_count(), evas_touch_point_list_nth_id_get(), evas_touch_point_list_nth_state_get(), and evas_touch_point_list_nth_xy_get().
| #define eo_class_do | ( | klass, | |
| ... | |||
| ) | eo_class_do_internal(klass, __VA_ARGS__, EO_NOOP) |
A convenience wrapper around eo_class_do_internal()
- See Also
- eo_class_do_internal
| #define eo_do_super | ( | obj, | |
| ... | |||
| ) | eo_do_super_internal(obj, EO_OP_TYPE_REGULAR, __VA_ARGS__) |
| #define eo_class_do_super | ( | klass, | |
| ... | |||
| ) | eo_class_do_super_internal(klass, __VA_ARGS__) |
Calls the super function for the specific op.
- Parameters
-
klass The klass to work on ... list of parameters.
- Returns
EINA_TRUEon success.
Unlike eo_class_do(), this function only accepts one op.
- See Also
- eo_class_do
| #define eo_error_set | ( | obj | ) | eo_error_set_internal(obj, __FILE__, __LINE__) |
Notify eo that there was an error when constructing, destructing or calling a function of the object.
- Parameters
-
obj the object to work on.
- See Also
- eo_error_get()
| #define eo_add | ( | klass, | |
| parent, | |||
| ... | |||
| ) |
Create a new object with the default constructor.
- Parameters
-
klass the class of the object to create. parent the parent to set to the object. ... The ops to run.
- Returns
- An handle to the new object on success, NULL otherwise.
- See Also
- eo_add_custom
Referenced by ecore_init(), evas_new(), evas_object_box_add(), evas_object_grid_add(), evas_object_image_add(), evas_object_line_add(), evas_object_polygon_add(), evas_object_rectangle_add(), evas_object_smart_add(), evas_object_table_add(), evas_object_text_add(), evas_object_textblock_add(), and evas_object_textgrid_add().
| #define eo_add_custom | ( | klass, | |
| parent, | |||
| ... | |||
| ) |
Create a new object with a custom constructor.
- Parameters
-
klass the class of the object to create. parent the parent to set to the object. ... The ops to run. With the constructor being first.
- Returns
- An handle to the new object on success, NULL otherwise.
- See Also
- eo_add
Referenced by ecore_animator_add(), ecore_animator_timeline_add(), ecore_idle_enterer_add(), ecore_idle_enterer_before_add(), ecore_idle_exiter_add(), ecore_idler_add(), ecore_job_add(), ecore_poller_add(), and ecore_timer_add().
| #define eo_xref | ( | obj, | |
| ref_obj | |||
| ) | eo_xref_internal(obj, ref_obj, __FILE__, __LINE__) |
Typedef Documentation
| eo_op_func_type |
The type of the Op functions.
This is the type of the functions used by Eo.
- See Also
- eo_op_func_type_class
| eo_op_func_type_class |
The type of the class Op functions.
This is the same as eo_op_func_type,\ exepct that it's for usage with class functions, and not with object functions.
- See Also
- eo_op_func_type
Function Documentation
| Eina_Bool eo_init | ( | void | ) |
Init the eo subsystem.
- Returns
EINA_TRUEon success.
- See Also
- eo_shutfown()
References EINA_FALSE, eina_init(), eina_log_domain_register(), EINA_LOG_ERR, eina_magic_string_static_set(), and EINA_TRUE.
Referenced by ecore_init(), and evas_init().
| Eina_Bool eo_shutdown | ( | void | ) |
Shutdown the eo subsystem.
- Returns
EINA_TRUEon success.
- See Also
- eo_init()
References eina_log_domain_unregister(), eina_shutdown(), and EINA_TRUE.
Referenced by ecore_init(), ecore_shutdown(), and evas_shutdown().
Calls op functions of an object.
- Parameters
-
obj The object to work on op_type The type of the ops that are passed. ... NULL terminated list of OPs and parameters.
- Returns
EINA_TRUEon success.
Use the helper macros, don't pass the parameters manually. Use eo_do instead of this function.
- See Also
- eo_do
References EINA_FALSE, and EINA_TRUE.
Calls op functions of a class.
- Parameters
-
klass The class to work on ... NULL terminated list of OPs and parameters.
- Returns
EINA_TRUEon success.
Use the helper macros, don't pass the parameters manually. Use eo_do instead of this function.
- See Also
- eo_class_do
References EINA_FALSE, EINA_TRUE, and EO_NOOP.
Calls the super function for the specific op.
- Parameters
-
obj The object to work on op_type The type of the ops that are passed. op The wanted op. ... list of parameters.
- Returns
EINA_TRUEon success.
Don't use this function, use the wrapping macros instead.
- See Also
- eo_do
- eo_do_super
References EINA_FALSE, and EINA_TRUE.
Calls the super function for the specific op.
- Parameters
-
klass The klass to work on op The wanted op. ... list of parameters.
- Returns
EINA_TRUEon success.
Don't use this function, use the wrapping macros instead.
- See Also
- eo_class_do
- eo_class_do_super
References EINA_FALSE, and EINA_TRUE.
Gets the class of the object.
- Parameters
-
obj The object to work on
- Returns
- The object's class.
- See Also
- eo_class_name_get()
References EINA_FALSE.
Create a new object.
- Parameters
-
klass the class of the object to create. parent the parent to set to the object. ... The ops to run. With the constructor being first.
- Returns
- An handle to the new object on success, NULL otherwise.
Use the helper macros, don't pass the parameters manually. Use eo_add or eo_add_custom instead of this function.
- See Also
- eo_add
References EINA_MAGIC_SET, EINA_UNLIKELY, EO_CLASS_TYPE_REGULAR, and eo_parent_set().
Get the parent of an object.
- Parameters
-
obj the object to get the parent of.
- Returns
- a pointer to the parent object.
- See Also
- eo_parent_set()
Set the parent of an object.
- Parameters
-
obj the object to get the parent of. parent the new parent.
- Returns
EINA_TRUEon success,EINA_FALSEon failure.
Parents keep references to their children so in order to delete objects that have parents you need to set parent to NULL or use eo_del() that does that for you (and also unrefs the object).
- See Also
- eo_del()
- eo_parent_get()
References EINA_FALSE, eina_inlist_append(), EINA_INLIST_GET, eina_inlist_remove(), EINA_TRUE, eo_composite_detach(), eo_composite_is(), eo_xref, and eo_xunref().
Referenced by ecore_job_del(), ecore_poller_del(), eo_add_internal(), eo_composite_attach(), eo_composite_detach(), eo_del(), and evas_object_del().
Get a pointer to the data of an object for a specific class.
- Parameters
-
obj the object to work on. klass the klass associated with the data.
- Returns
- a pointer to the data.
Referenced by ecore_animator_del(), ecore_job_del(), ecore_poller_del(), evas_device_list(), evas_device_new(), evas_device_pop(), evas_device_push(), evas_event_callback_del(), evas_event_callback_del_full(), evas_event_callback_priority_add(), evas_event_thaw_eval(), evas_gl_new(), evas_map_util_points_populate_from_object(), evas_map_util_points_populate_from_object_full(), evas_object_del(), evas_object_event_callback_del(), evas_object_event_callback_del_full(), evas_object_event_callback_priority_add(), evas_object_image_add(), evas_object_intercept_hide_callback_add(), evas_object_intercept_hide_callback_del(), evas_object_intercept_move_callback_add(), evas_object_intercept_move_callback_del(), evas_object_intercept_show_callback_add(), evas_object_intercept_show_callback_del(), evas_object_ref(), evas_object_ref_get(), evas_object_size_hint_display_mode_get(), evas_object_size_hint_display_mode_set(), evas_object_smart_callback_call(), evas_object_smart_callback_del(), evas_object_smart_callback_del_full(), evas_object_smart_callback_priority_add(), evas_object_smart_interface_data_get(), evas_object_smart_member_del(), evas_object_top_at_pointer_get(), evas_object_unref(), evas_post_event_callback_push(), evas_post_event_callback_remove(), evas_post_event_callback_remove_full(), evas_textblock_cursor_char_coord_set(), evas_textblock_cursor_char_delete(), evas_textblock_cursor_char_geometry_get(), evas_textblock_cursor_format_append(), evas_textblock_cursor_free(), evas_textblock_cursor_geometry_get(), evas_textblock_cursor_line_char_first(), evas_textblock_cursor_line_char_last(), evas_textblock_cursor_line_coord_set(), evas_textblock_cursor_line_geometry_get(), evas_textblock_cursor_line_set(), evas_textblock_cursor_paragraph_first(), evas_textblock_cursor_paragraph_last(), evas_textblock_cursor_pen_geometry_get(), evas_textblock_cursor_pos_get(), evas_textblock_cursor_pos_set(), evas_textblock_cursor_range_delete(), evas_textblock_cursor_range_geometry_get(), evas_textblock_cursor_text_append(), evas_textblock_cursor_visible_range_get(), and evas_textblock_style_set().
Increment the object's reference count by 1.
- Parameters
-
obj the object to work on.
- Returns
- The object passed.
It's very easy to get a refcount leak and start leaking memory because of a forgotten unref or an extra ref. That is why there are eo_xref and eo_xunref that will make debugging easier in such a case. Therefor, these functions should only be used in small scopes, i.e at the start of some section in which the object may get freed, or if you know what you are doing.
- See Also
- eo_unref()
- eo_ref_get()
Referenced by evas_object_ref().
| void eo_unref | ( | const Eo * | obj | ) |
Decrement the object's reference count by 1 and free it if needed.
- Parameters
-
obj the object to work on.
- See Also
- eo_ref()
- eo_ref_get()
Referenced by ecore_animator_add(), ecore_animator_timeline_add(), ecore_idle_enterer_add(), ecore_idle_enterer_before_add(), ecore_idle_exiter_add(), ecore_idler_add(), ecore_job_add(), ecore_poller_add(), ecore_shutdown(), ecore_timer_add(), eo_del(), evas_free(), evas_object_box_add(), evas_object_grid_add(), evas_object_image_add(), evas_object_line_add(), evas_object_polygon_add(), evas_object_rectangle_add(), evas_object_smart_add(), evas_object_table_add(), evas_object_text_add(), evas_object_textblock_add(), evas_object_textgrid_add(), and evas_object_unref().
| int eo_ref_get | ( | const Eo * | obj | ) |
Return the ref count of the object passed.
- Parameters
-
obj the object to work on.
- Returns
- the ref count of the object.
- See Also
- eo_ref()
- eo_unref()
Referenced by eo_manual_free().
| void eo_del | ( | const Eo * | obj | ) |
Unrefs the object and reparents it to NULL.
- Parameters
-
obj the object to work on.
Because eo_del() unrefs and reparents to NULL, it doesn't really delete the object.
- See Also
- eo_unref()
- eo_parent_set()
References eo_parent_set(), and eo_unref().
Increment the object's reference count by 1 (and associate the ref with ref_obj)
- Parameters
-
obj the object to work on. ref_obj the object that references obj. file the call's filename. line the call's line number.
- Returns
- The object passed (obj)
People should not use this function, use eo_xref instead. A compile flag my make it and eobj_xunref() behave the same as eobj_ref() and eobj_unref() respectively. So this should be used wherever possible.
- See Also
- eo_xunref()
References EINA_INLIST_GET, and eina_inlist_prepend().
Decrement the object's reference count by 1 and free it if needed.
Will free the ref associated with ref_obj).
- Parameters
-
obj the object to work on. ref_obj the object that references obj.
This function only enforces the checks for object association. I.e don't rely on it. If such enforces are compiled out, this function behaves the same as eo_unref().
- See Also
- eo_xref_internal()
References EINA_INLIST_FOREACH, EINA_INLIST_GET, and eina_inlist_remove().
Referenced by eo_parent_set().
Enable or disable the manual free feature.
- Parameters
-
obj the object to work on. manual_free indicates if the free is manual (EINA_TRUE) or automatic (EINA_FALSE).
The developer is in charge to call the function eo_manual_free to free the memory allocated for this object.
Do not use, unless you really know what you are doing. It's used by Evas because evas wants to keep its private data available even after the object is deleted. Setting this to true makes Eo destruct the object but not free the private data or the object itself.
- See Also
- eo_manual_free()
Referenced by ecore_poller_del().
| void eo_manual_free | ( | Eo * | obj | ) |
Frees the object.
- Parameters
-
obj the object to work on. This function must be called by the developer if the function eo_manual_free_set has been called before with the parameter EINA_TRUE. An error will be printed if this function is called when the manual free option is not set to EINA_TRUE or the number of refs is not 0.
- See Also
- eo_manual_free_set()
References EINA_FALSE, and eo_ref_get().
Referenced by ecore_poller_del().
Checks if the object was already descructed (only relevant for manual_free objects).
- Parameters
-
obj the object to check. This function checks if the object was already destructed (but not alraedy freed). It should only be used with objects that are supposed to be manually freed, but not yet freed (but possibly destructed).
- See Also
- eo_manual_free_set()
References EINA_FALSE.
Referenced by ecore_poller_del().
