return TRUE;
switch (type) {
+ case EVENT_CALLBACK_TYPE_CREATE:
+ break;
case EVENT_CALLBACK_TYPE_SEND:
stats_client_send_event(client, event, ctx);
break;
};
enum event_callback_type {
+ /* Event was just created */
+ EVENT_CALLBACK_TYPE_CREATE,
/* Event is being sent */
EVENT_CALLBACK_TYPE_SEND,
/* Event is being freed */
struct event_category *const *
event_get_registered_categories(unsigned int *count_r);
-/* Register callback to be called whenever events are sent. */
+/* Register callback to be called for event's different states. */
void event_register_callback(event_callback_t *callback);
void event_unregister_callback(event_callback_t *callback);
struct event *event_create(struct event *parent, const char *source_filename,
unsigned int source_linenum)
{
- return event_create_internal(parent, source_filename, source_linenum);
+ struct event *event;
+
+ event = event_create_internal(parent, source_filename, source_linenum);
+ (void)event_call_callbacks_noargs(event, EVENT_CALLBACK_TYPE_CREATE);
+ return event;
}
#undef event_create_passthrough