From 537c7fe9e3a72242c386b8851dd450fdc6312171 Mon Sep 17 00:00:00 2001 From: Jaehwan Kim Date: Wed, 15 Apr 2015 13:52:01 +0900 Subject: [PATCH] eo: add eo_error_get This is pair of eo_error_set. --- src/lib/eo/Eo.h | 13 +++++++++++++ src/lib/eo/eo.c | 8 ++++++++ 2 files changed, 21 insertions(+) diff --git a/src/lib/eo/Eo.h b/src/lib/eo/Eo.h index 46e9d73ef8..96e5c37033 100644 --- a/src/lib/eo/Eo.h +++ b/src/lib/eo/Eo.h @@ -631,6 +631,19 @@ EAPI const Eo_Class *eo_class_get(const Eo *obj); EAPI void eo_error_set_internal(const Eo *obj, const char *file, int line); /* @endcond */ +/** + * @def eo_error_get + * @brief Get whether or not the eo has error when constructing, destructing or calling a function of the object. + * @param obj the object to work on. + * + * @see eo_error_set() + */ +#define eo_error_get(obj) eo_error_get_internal(obj) + +/* @cond 0 */ +EAPI Eina_Bool eo_error_get_internal(const Eo *obj); +/* @endcond */ + #define _eo_add_common(klass, parent, is_ref, ...) \ ( \ _eo_do_start(_eo_add_internal_start(__FILE__, __LINE__, klass, parent, is_ref), \ diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 166e6385bf..bcc1796c25 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -1584,6 +1584,14 @@ eo_error_set_internal(const Eo *obj_id, const char *file, int line) obj->do_error = EINA_TRUE; } +EAPI Eina_Bool +eo_error_get_internal(const Eo *obj_id) +{ + EO_OBJ_POINTER_RETURN_VAL(obj_id, obj, EINA_TRUE); + + return obj->do_error; +} + void _eo_condtor_done(Eo *obj_id) {