Data Structures | |
struct | _Eo_Op_Description |
struct | _Eo_Class_Description |
This struct holds the description of a class. More... | |
Macros | |
#define | EO_DEFINE_CLASS(class_get_func_name, class_desc, parent_class, ...) |
A convenience macro to be used for creating the class_get function. More... | |
#define | EO_VERSION 2 |
The current version of EO. | |
Typedefs | |
typedef enum _Eo_Class_Type | Eo_Class_Type |
A convenience typedef for _Eo_Class_Type. | |
typedef struct _Eo_Op_Description | Eo_Op_Description |
typedef struct _Eo_Class_Description | Eo_Class_Description |
A convenience typedef for _Eo_Class_Description. | |
Enumerations | |
enum | _Eo_Class_Type { EO_CLASS_TYPE_REGULAR = 0, EO_CLASS_TYPE_REGULAR_NO_INSTANT, EO_CLASS_TYPE_INTERFACE, EO_CLASS_TYPE_MIXIN } |
An enum representing the possible types of an Eo class. More... | |
Functions | |
EAPI const Eo_Class * | eo_class_new (const Eo_Class_Description *desc, const Eo_Class *parent,...) |
Create a new class. More... | |
EAPI Eina_Bool | eo_isa (const Eo *obj, const Eo_Class *klass) |
Check if an object "is a" klass. More... | |
EAPI const char * | eo_class_name_get (const Eo_Class *klass) |
Gets the name of the passed class. More... | |
#define EO_DEFINE_CLASS | ( | class_get_func_name, | |
class_desc, | |||
parent_class, | |||
... | |||
) |
A convenience macro to be used for creating the class_get function.
This macro is fairly simple but should still be used as it'll let us improve things easily.
class_get_func_name | the name of the wanted class_get function name. |
class_desc | the class description. |
parent_class | The parent class for the function. Look at eo_class_new() for more information. |
... | List of extensions. Look at eo_class_new() for more information. |
You must use this macro if you want thread safety in class creation.
enum _Eo_Class_Type |
EAPI const Eo_Class* eo_class_new | ( | const Eo_Class_Description * | desc, |
const Eo_Class * | parent, | ||
... | |||
) |
Create a new class.
desc | the class description to create the class with. |
parent | the class to inherit from. |
... | A NULL terminated list of extensions (interfaces, mixins and the classes of any composite objects). |
You should use EO_DEFINE_CLASS. It'll provide thread safety and other features easily.
References _eo_class_creation_lock, _Eo_Class_Description::data_size, DBG, eina_list_append(), eina_list_count(), EINA_LIST_FOREACH, eina_list_free(), EINA_LIST_FREE, eina_list_prepend(), eina_list_remove(), EINA_MAGIC_CHECK, EINA_MAGIC_FAIL, EINA_MAGIC_SET, eina_spinlock_free(), eina_spinlock_new(), eina_spinlock_release(), eina_spinlock_take(), EO_CLASS_TYPE_INTERFACE, EO_CLASS_TYPE_MIXIN, EO_CLASS_TYPE_REGULAR, EO_CLASS_TYPE_REGULAR_NO_INSTANT, ERR, _Eo_Class_Description::name, efl::eo::parent, and _Eo_Class_Description::type.
Check if an object "is a" klass.
obj | The object to check |
klass | The klass to check against. |
EINA_TRUE
if obj implements klass, EINA_FALSE
otherwise.Notice: This function does not support composite objects.
References EINA_FALSE.
Referenced by ecore_con_url_additional_header_add(), ecore_con_url_additional_headers_clear(), ecore_con_url_cookies_clear(), ecore_con_url_cookies_file_add(), ecore_con_url_cookies_ignore_old_session_set(), ecore_con_url_cookies_init(), ecore_con_url_cookies_jar_file_set(), ecore_con_url_cookies_jar_write(), ecore_con_url_cookies_session_clear(), ecore_con_url_data_get(), ecore_con_url_data_set(), ecore_con_url_fd_set(), ecore_con_url_free(), ecore_con_url_ftp_upload(), ecore_con_url_ftp_use_epsv_set(), ecore_con_url_http_version_set(), ecore_con_url_httpauth_set(), ecore_con_url_proxy_password_set(), ecore_con_url_proxy_set(), ecore_con_url_proxy_username_set(), ecore_con_url_received_bytes_get(), ecore_con_url_response_headers_get(), ecore_con_url_ssl_ca_set(), ecore_con_url_ssl_verify_peer_set(), ecore_con_url_status_code_get(), ecore_con_url_time(), ecore_con_url_timeout_set(), ecore_con_url_verbose_set(), ecore_exe_auto_limits_set(), ecore_exe_callback_pre_free_set(), ecore_exe_close_stdin(), ecore_exe_data_get(), ecore_exe_data_set(), ecore_exe_event_data_get(), ecore_exe_flags_get(), ecore_exe_free(), ecore_exe_hup(), ecore_exe_interrupt(), ecore_exe_kill(), ecore_exe_pid_get(), ecore_exe_quit(), ecore_exe_send(), ecore_exe_signal(), ecore_exe_tag_get(), ecore_exe_tag_set(), ecore_exe_terminate(), evas_object_image_data_convert(), evas_object_image_pixels_import(), evas_object_image_reload(), and evas_object_smart_interface_get().
Gets the name of the passed class.
klass | the class to work on. |
Referenced by evas_object_image_data_convert(), evas_object_image_pixels_import(), and evas_object_image_reload().