LmMessageHandler

LmMessageHandler — A handler for incoming messages.

Synopsis




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);

Description

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.

Details

LmHandleMessageFunction ()

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.

lm_message_handler_new ()

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

lm_message_handler_invalidate ()

void                lm_message_handler_invalidate       (LmMessageHandler *handler);

Invalidates the handler. Useful if you need to cancel a reply

handler : an LmMessageHandler

lm_message_handler_is_valid ()

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

lm_message_handler_ref ()

LmMessageHandler*   lm_message_handler_ref              (LmMessageHandler *handler);

Adds a reference to handler.

handler : an LmMessageHandler
Returns : the message handler

lm_message_handler_unref ()

void                lm_message_handler_unref            (LmMessageHandler *handler);

Removes a reference from handler. When no more references are present the handler is freed.

handler : an LmMessagHandler