summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJaehwan Kim <jae.hwan.kim@samsung.com>2015-04-15 13:52:01 +0900
committerJaehwan Kim <jae.hwan.kim@samsung.com>2015-04-15 13:57:42 +0900
commit537c7fe9e3a72242c386b8851dd450fdc6312171 (patch)
treeef282b798cd445d1e21ce8e0c9e8389b28b37136
parent755b290404fa8936c421dc972cf60dc419f5500c (diff)
downloadefl-537c7fe9e3a72242c386b8851dd450fdc6312171.tar.gz
eo: add eo_error_get
This is pair of eo_error_set.
-rw-r--r--src/lib/eo/Eo.h13
-rw-r--r--src/lib/eo/eo.c8
2 files changed, 21 insertions, 0 deletions
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)
{