struct ul_evptrig_t {
struct ul_evptrig_data_t * impl_data;
ul_evpbase_t * base;
ul_evpoll_cb_t cb;
};
pointer to implementation data set by base in ul_evptrig_init
pointer to the base which event is member of
pointer to user callback function
The event trigger is basic element of whole library. One or more instances
of &ul_evptrig_t structure are typically contained by some user
data structure holding state for given communication object.
Structure is initiated and assigned to selected event poll base by
ul_evptrig_init. From this point it s associated to base until
ul_evptrig_done is called. If poll base is destroyed / ul_evpoll_destroy
called before ul_evptrig_done, UL_EVP_DONE event is delivered to the
assigned callback function. It should call ul_evptrig_done in such case.
The trigger is setup to accept selected events, functions ul_evptrig_set_fd,
ul_evptrig_set_callback, ul_evptrig_set_time/ul_evptrig_set_timeout
and then it is marked active by ul_evptrig_arm or ul_evptrig_arm_once
call. When event occurs, the callback cb is activated with set of active
events. The argument of evptrig is pointer to corresponding &ul_evptrig_t
structure. Use of UL_CONTAINEROF is expected to obtain pointer
communication object data structure containing activated event trigger.
Monitoring of given event can be (temporarily) disabled by
ul_evptrig_disarm.