| Loudmouth Reference Manual |
|---|
LmMessage — A message is built up like a tree of message nodes.
typedef LmMessage; enum LmMessageType; enum LmMessageSubType; LmMessage* lm_message_new (const gchar *to, LmMessageType type); LmMessage* lm_message_new_with_sub_type (const gchar *to, LmMessageType type, LmMessageSubType sub_type); LmMessageType lm_message_get_type (LmMessage *message); LmMessageSubType lm_message_get_sub_type (LmMessage *message); LmMessageNode* lm_message_get_node (LmMessage *message); LmMessage* lm_message_ref (LmMessage *message); void lm_message_unref (LmMessage *message);
Represents a message that can be sent with lm_connection_send(), lm_connection_send_with_reply() or lm_connection_send_with_reply_and_block(). Either use lm_message_new() or lm_message_new_with_subtype() to create a message. You need to call lm_message_unref() when are finished with it.
typedef enum {
LM_MESSAGE_TYPE_MESSAGE,
LM_MESSAGE_TYPE_PRESENCE,
LM_MESSAGE_TYPE_IQ,
LM_MESSAGE_TYPE_STREAM,
LM_MESSAGE_TYPE_STREAM_ERROR,
LM_MESSAGE_TYPE_UNKNOWN
} LmMessageType;
Describes what type of message a message is. This maps directly to top level elements in the jabber protocol.
| LM_MESSAGE_TYPE_MESSAGE | a message, <message></message> |
| LM_MESSAGE_TYPE_PRESENCE | a presence element, <presence></presence> |
| LM_MESSAGE_TYPE_IQ | an info/query element, <iq></iq> |
| LM_MESSAGE_TYPE_STREAM | the stream:stream element, you probably don't need to create a message of this type. |
| LM_MESSAGE_TYPE_STREAM_ERROR | a stream:error element |
| LM_MESSAGE_TYPE_UNKNOWN | incoming message is of some unknown type. |
typedef enum {
LM_MESSAGE_SUB_TYPE_NOT_SET = -10,
LM_MESSAGE_SUB_TYPE_NORMAL = -2,
LM_MESSAGE_SUB_TYPE_AVAILABLE = -1,
LM_MESSAGE_SUB_TYPE_CHAT = 0,
LM_MESSAGE_SUB_TYPE_GROUPCHAT,
LM_MESSAGE_SUB_TYPE_HEADLINE,
LM_MESSAGE_SUB_TYPE_UNAVAILABLE,
LM_MESSAGE_SUB_TYPE_PROBE,
LM_MESSAGE_SUB_TYPE_SUBSCRIBE,
LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE,
LM_MESSAGE_SUB_TYPE_SUBSCRIBED,
LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED,
LM_MESSAGE_SUB_TYPE_GET,
LM_MESSAGE_SUB_TYPE_SET,
LM_MESSAGE_SUB_TYPE_RESULT,
LM_MESSAGE_SUB_TYPE_ERROR
} LmMessageSubType;
Describes the sub type of a message. This is equal to the "type" attribute in the jabber protocol. What sub type a message can have is depending on the type of the message.
| LM_MESSAGE_SUB_TYPE_NOT_SET | the default. No "type" attribute will be sent. |
| LM_MESSAGE_SUB_TYPE_NORMAL | |
| LM_MESSAGE_SUB_TYPE_AVAILABLE | presence is available, applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_CHAT | message is a chat message, applies to message type "message" |
| LM_MESSAGE_SUB_TYPE_GROUPCHAT | message is a group chat message, applies to message type "message" |
| LM_MESSAGE_SUB_TYPE_HEADLINE | message is a headline message, applies to message type "message" |
| LM_MESSAGE_SUB_TYPE_UNAVAILABLE | presence is unavailable, applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_PROBE | a probe presence, applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_SUBSCRIBE | try to subscribe to another jids presence, applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_UNSUBSCRIBE | unsubscribes from another jids presence, applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_SUBSCRIBED | reply from a subscribe message, informs that the subscription was successful. Applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_UNSUBSCRIBED | reply from subscribe or unsubscribe message. If it's a reply from a subscribe message it notifies that the subscription failed. Applies to message type "presence" |
| LM_MESSAGE_SUB_TYPE_GET | used to get information from an IQ query, applies to message type "iq" |
| LM_MESSAGE_SUB_TYPE_SET | used to set information in a IQ call, applised to message type "iq" |
| LM_MESSAGE_SUB_TYPE_RESULT | message is an IQ reply, applies to message type "iq" |
| LM_MESSAGE_SUB_TYPE_ERROR | messages is an error, applies to all message types. |
LmMessage* lm_message_new (const gchar *to, LmMessageType type);
Creates a new LmMessage which can be sent with lm_connection_send() or lm_connection_send_with_reply(). If to is NULL the message is sent to the server. The returned message should be unreferenced with lm_message_unref() when caller is finished with it.
| to : | receipient jid |
| type : | message type |
| Returns : | a newly created LmMessage |
LmMessage* lm_message_new_with_sub_type (const gchar *to, LmMessageType type, LmMessageSubType sub_type);
Creates a new LmMessage with sub type set. See lm_message_new() for more information.
| to : | receipient jid |
| type : | message type |
| sub_type : | message sub type |
| Returns : | a newly created LmMessage |
LmMessageType lm_message_get_type (LmMessage *message);
Fetches the type of message.
| message : | an LmMessage |
| Returns : | the message type |
LmMessageSubType lm_message_get_sub_type (LmMessage *message);
Fetches the sub type of message.
| message : | |
| Returns : | the message sub type |
LmMessageNode* lm_message_get_node (LmMessage *message);
Retrieves the root node from message.
| message : | an LmMessage |
| Returns : | an LmMessageNode |
LmMessage* lm_message_ref (LmMessage *message);
Adds a reference to message.
| message : | an LmMessage |
| Returns : | the message |
| << LmError | LmMessageHandler >> |