![]() | ![]() | ![]() | Loudmouth Reference Manual | ![]() |
---|
LmMessageHandler — A handler for incoming messages.
LmHandlerResult (*LmHandleMessageFunction) (LmMessageHandler *handler, LmConnection *connection, LmMessage *message, gpointer user_data); LmMessageHandler* lm_message_handler_new (LmHandleMessageFunction function, gpointer user_data, GDestroyNotify notify); void lm_message_handler_invalidate (LmMessageHandler *handler); gboolean lm_message_handler_is_valid (LmMessageHandler *handler); LmMessageHandler* lm_message_handler_ref (LmMessageHandler *handler); void lm_message_handler_unref (LmMessageHandler *handler);
A handler can be registered to listen to incoming messages with lm_connection_register_message_handler(). When a message is recieved the handlers of the correct type will be called.
LmHandlerResult (*LmHandleMessageFunction) (LmMessageHandler *handler, LmConnection *connection, LmMessage *message, gpointer user_data);
The actual callback function in an LmMessageHandler. This function is called when an incoming message arrives that haven't been handled by an handler with higher priority.
handler : | an LmMessageHandler |
connection : | an LmConnection |
message : | an LmMessage |
user_data : | user data set when creating the handler |
Returns : | LM_HANDLER_RESULT_REMOVE_MESSAGE to indicate that message has been handled, otherwise LM_HANDLER_RESULT_ALLOW_MORE_HANDLERS. |
LmMessageHandler* lm_message_handler_new (LmHandleMessageFunction function, gpointer user_data, GDestroyNotify notify);
Creates a new message handler. This can be set to handle incoming messages and when a message of the type the handler is registered to handle is received function will be called and user_data will be passed to it. notify is called when the message handler is freed, that way any memory allocated by user_data can be freed.
function : | a callback |
user_data : | user data passed to function |
notify : | function called when the message handler is freed |
Returns : | a newly created message handler |
void lm_message_handler_invalidate (LmMessageHandler *handler);
Invalidates the handler. Useful if you need to cancel a reply
handler : | an LmMessageHandler |
gboolean lm_message_handler_is_valid (LmMessageHandler *handler);
Fetches whether the handler is valid or not.
handler : | an LmMessageHandler |
Returns : | TRUE if handler is valid, otherwise FALSE |
LmMessageHandler* lm_message_handler_ref (LmMessageHandler *handler);
Adds a reference to handler.
handler : | an LmMessageHandler |
Returns : | the message handler |
<< LmMessage | LmMessageNode >> |