diff --git a/legacy/eeze/src/lib/Eeze.h b/legacy/eeze/src/lib/Eeze.h index 93add5cdfd..43d900e898 100644 --- a/legacy/eeze/src/lib/Eeze.h +++ b/legacy/eeze/src/lib/Eeze.h @@ -216,6 +216,8 @@ typedef void(*Eeze_Udev_Watch_Cb)(const char *, Eeze_Udev_Event, void *, Eeze_Ud EAPI Eeze_Udev_Watch *eeze_udev_watch_add(Eeze_Udev_Type type, int event, Eeze_Udev_Watch_Cb cb, void *user_data); EAPI void *eeze_udev_watch_del(Eeze_Udev_Watch *watch); + EAPI void eeze_udev_watch_data_set(Eeze_Udev_Watch *watch, void *data); + EAPI void *eeze_udev_watch_data_get(Eeze_Udev_Watch *watch); #ifdef __cplusplus } diff --git a/legacy/eeze/src/lib/eeze_udev_watch.c b/legacy/eeze/src/lib/eeze_udev_watch.c index 4053509553..13f8814d50 100644 --- a/legacy/eeze/src/lib/eeze_udev_watch.c +++ b/legacy/eeze/src/lib/eeze_udev_watch.c @@ -15,6 +15,7 @@ struct Eeze_Udev_Watch _udev_monitor *mon; Ecore_Fd_Handler *handler; Eeze_Udev_Type type; + void *data; }; /* private */ @@ -412,3 +413,35 @@ eeze_udev_watch_del(Eeze_Udev_Watch * watch) free(watch); return ret; } + +/** + * Associate data with a watch + * @p watch The watch to associate with + * @p data The data to associate + * This function is used to associate a data pointer with a watch + * object for later retrieval. + */ +EAPI void +eeze_udev_watch_data_set(Eeze_Udev_Watch *watch, void *data) +{ + if ((!watch) || (!watch->mon) || (!watch->handler)) + return; + + watch->data = data; +} + +/** + * Retrieve associated data from a watch + * @p watch The watch the data is associated + * @return The data associated + * This function is used to retrieve the data pointer which has been + * previously associated with a watch. + */ +EAPI void * +eeze_udev_watch_data_get(Eeze_Udev_Watch *watch) +{ + if ((!watch) || (!watch->mon) || (!watch->handler)) + return NULL; + + return watch->data; +}