Helixis 1.0
Task Programming API
Data Structures | Functions
sources/internal_includes/native/native_events.h File Reference

Go to the source code of this file.

Data Structures

struct  _hlx_event_handler
struct  _hlx_event_manager
struct  _hlx_event_params
struct  _hlx_event_callback

Functions

_hlx_event_handler_hlx_event_handler_create (unsigned long id)
hlx_event_errors _hlx_event_handler_create_by_hash (_hlx_event_manager *manager, unsigned long id, unsigned int size)
void _hlx_event_handler_destroy (_hlx_event_handler *handler)
hlx_event_errors _hlx_event_register_callback_with_group (_hlx_event_manager *manager, _hlx_event_handler *handler, unsigned long id, _hlx_event_callback *callback, hlx_group_id group_id)
hlx_event_errors _hlx_event_unregister_callback (_hlx_event_manager *manager, unsigned long id, void *user_callback)
hlx_event_errors _hlx_event_unregister_callback_through_handler (_hlx_event_handler *handler, void *user_callback)
_hlx_event_handler_hlx_event_return_handler_by_hash (_hlx_event_manager *manager, unsigned long id)
_hlx_event_handler_hlx_event_return_handler (_hlx_event_manager *manager, unsigned long id)
void _hlx_event_task_callback (void *param, hlx_group_id group_id, int status)
void _hlx_event_default_manager_destroy (void)
void _hlx_event_delete_callback (void *data, void *state)

Function Documentation

void _hlx_event_default_manager_destroy ( void  )

Definition at line 63 of file events.c.

References hlx_api::free_entry.

Referenced by hlx_event_manager_destroy().

void _hlx_event_delete_callback ( void *  data,
void *  state 
)

Definition at line 54 of file events.c.

References hlx_api::free_entry.

Referenced by _hlx_event_handler_create_by_hash().

{
        _hlx_event_callback*    callback;

        (void)state;
        callback = (_hlx_event_callback*)data;
        gl_api.free_entry(callback);
}
_hlx_event_handler* _hlx_event_handler_create ( unsigned long  id)
hlx_event_errors _hlx_event_handler_create_by_hash ( _hlx_event_manager manager,
unsigned long  id,
unsigned int  size 
)
void _hlx_event_handler_destroy ( _hlx_event_handler handler)
hlx_event_errors _hlx_event_register_callback_with_group ( _hlx_event_manager manager,
_hlx_event_handler handler,
unsigned long  id,
_hlx_event_callback callback,
hlx_group_id  group_id 
)
_hlx_event_handler* _hlx_event_return_handler ( _hlx_event_manager manager,
unsigned long  id 
)
_hlx_event_handler* _hlx_event_return_handler_by_hash ( _hlx_event_manager manager,
unsigned long  id 
)

Definition at line 111 of file parallel_events.c.

References _hlx_event_manager::handlers, slist_get_head_and_then_next(), and slist_get_user_data_from_element().

Referenced by _hlx_event_handler_create_by_hash(), and _hlx_event_return_handler().

{
        _hlx_event_handler*             handler;
        struct slist_element*   it;

        it = 0;
        while (slist_get_head_and_then_next(manager->handlers, &it))
                if (slist_get_user_data_from_element(it, (void **)&handler) && handler->hash_code == id)
                        return (handler);
        return (0);
}
void _hlx_event_task_callback ( void *  param,
hlx_group_id  group_id,
int  status 
)

Definition at line 153 of file events.c.

References hlx_event_args::callback, hlx_event_args::event_data, and hlx_api::free_entry.

Referenced by hlx_event_notify().

{
        hlx_event_args* args;

        args = (hlx_event_args*)param;
        if (args->callback)
                args->callback(param, group_id, status);
        if (args->event_data)
                gl_api.free_entry(args->event_data);
        gl_api.free_entry(args);
}
hlx_event_errors _hlx_event_unregister_callback ( _hlx_event_manager manager,
unsigned long  id,
void *  user_callback 
)
hlx_event_errors _hlx_event_unregister_callback_through_handler ( _hlx_event_handler handler,
void *  user_callback 
)
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines