| Loudmouth Reference Manual |
|---|
LmMessageLmMessage — A message is built up like a tree of message nodes. |
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_AVAILABLE = -1,
LM_MESSAGE_SUB_TYPE_NORMAL = 0,
LM_MESSAGE_SUB_TYPE_CHAT,
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_AVAILABLE |
presence is available, applies to message type "presence" |
LM_MESSAGE_SUB_TYPE_NORMAL |
|
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 >> |