summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Kolesa <d.kolesa@osg.samsung.com>2015-05-08 14:37:02 +0100
committerDaniel Kolesa <d.kolesa@osg.samsung.com>2015-05-08 14:37:02 +0100
commita5ce9e5d7516ca9da4ed9a8410abd27825762e54 (patch)
tree97b270ba6c00d61e869676a8cf66e6e562114de4
parentfbf622db0ca0507540ba5a4d2a96966e1798becb (diff)
downloadefl-a5ce9e5d7516ca9da4ed9a8410abd27825762e54.tar.gz
eolian: API and tests for beta events
-rw-r--r--src/lib/eolian/Eolian.h10
-rw-r--r--src/lib/eolian/database_event_api.c7
-rw-r--r--src/tests/eolian/data/events.eo2
-rw-r--r--src/tests/eolian/eolian_parsing.c2
4 files changed, 20 insertions, 1 deletions
diff --git a/src/lib/eolian/Eolian.h b/src/lib/eolian/Eolian.h
index 6223000484..77b26b0ea9 100644
--- a/src/lib/eolian/Eolian.h
+++ b/src/lib/eolian/Eolian.h
@@ -1327,6 +1327,16 @@ EAPI Eina_Stringshare *eolian_event_description_get(const Eolian_Event *event);
EAPI Eolian_Object_Scope eolian_event_scope_get(const Eolian_Event *event);
/*
+ * @brief Get whether an event is beta.
+ *
+ * @param[in] event the event handle
+ * @return EINA_TRUE and EINA_FALSE respectively
+ *
+ * @ingroup Eolian
+ */
+EAPI Eina_Bool eolian_event_is_beta(const Eolian_Event *event);
+
+/*
* @brief Returns the C name of an event
*
* @param[in] event the event handle
diff --git a/src/lib/eolian/database_event_api.c b/src/lib/eolian/database_event_api.c
index 0a6b22dcff..26a516753a 100644
--- a/src/lib/eolian/database_event_api.c
+++ b/src/lib/eolian/database_event_api.c
@@ -33,6 +33,13 @@ eolian_event_scope_get(const Eolian_Event *event)
return event->scope;
}
+EAPI Eina_Bool
+eolian_event_is_beta(const Eolian_Event *event)
+{
+ EINA_SAFETY_ON_NULL_RETURN_VAL(event, EINA_FALSE);
+ return event->is_beta;
+}
+
EAPI Eina_Stringshare *
eolian_event_c_name_get(const Eolian_Event *event)
{
diff --git a/src/tests/eolian/data/events.eo b/src/tests/eolian/data/events.eo
index 30572225d8..76a18db4de 100644
--- a/src/tests/eolian/data/events.eo
+++ b/src/tests/eolian/data/events.eo
@@ -1,6 +1,6 @@
class Events {
events {
- clicked; /*@ Comment for clicked */
+ clicked @beta; /*@ Comment for clicked */
clicked,double: Evas_Event_Clicked_Double_Info; /* No comment */
}
}
diff --git a/src/tests/eolian/eolian_parsing.c b/src/tests/eolian/eolian_parsing.c
index e9d35d25b9..99113efc93 100644
--- a/src/tests/eolian/eolian_parsing.c
+++ b/src/tests/eolian/eolian_parsing.c
@@ -119,6 +119,7 @@ START_TEST(eolian_events)
fail_if(!(comment = eolian_event_description_get(ev)));
fail_if(strcmp(name, "clicked"));
fail_if(strcmp(comment, "Comment for clicked"));
+ fail_if(!eolian_event_is_beta(ev));
/* Clicked,double */
fail_if(!(eina_iterator_next(iter, (void**)&ev)));
fail_if(!(name = eolian_event_name_get(ev)));
@@ -127,6 +128,7 @@ START_TEST(eolian_events)
fail_if(strcmp(name, "clicked,double"));
type_name = eolian_type_name_get(type);
fail_if(strcmp(type_name, "Evas_Event_Clicked_Double_Info"));
+ fail_if(eolian_event_is_beta(ev));
fail_if(eina_iterator_next(iter, &dummy));
eina_iterator_free(iter);
/* Check eolian_class_event_get_by_name */