From 566740f32fd84322dd690905d4e55ef0df88f779 Mon Sep 17 00:00:00 2001 From: Taekyun Kim Date: Wed, 16 Sep 2015 16:43:38 +0900 Subject: [PATCH] pepper: Convenience function for handling events of an object itself Change-Id: Ib82abe725ab53bd3adc2047127e26b47121a20b7 --- src/lib/pepper/object.c | 3 +++ src/lib/pepper/pepper-internal.h | 1 + 2 files changed, 4 insertions(+) diff --git a/src/lib/pepper/object.c b/src/lib/pepper/object.c index 94082d6..49f610c 100644 --- a/src/lib/pepper/object.c +++ b/src/lib/pepper/object.c @@ -136,6 +136,9 @@ pepper_object_emit_event(pepper_object_t *object, uint32_t id, void *info) { pepper_event_listener_t *listener, *tmp; + if (object->handle_event) + object->handle_event(object, id, info); + pepper_list_for_each_safe(listener, tmp, &object->event_listener_list, link) { if (listener->id == PEPPER_EVENT_ALL || listener->id == id) diff --git a/src/lib/pepper/pepper-internal.h b/src/lib/pepper/pepper-internal.h index 665e62f..2eb0bdb 100644 --- a/src/lib/pepper/pepper-internal.h +++ b/src/lib/pepper/pepper-internal.h @@ -23,6 +23,7 @@ struct pepper_object pepper_object_type_t type; pepper_map_t user_data_map; pepper_map_entry_t *buckets[1 << PEPPER_OBJECT_BUCKET_BITS]; + void (*handle_event)(pepper_object_t *object, uint32_t id, void *info); pepper_list_t event_listener_list; }; -- 2.7.4