Delta Chat Core C-API
|
An object representing a single message in memory. More...
#include <mrmsg.h>
Public Member Functions | |
mrmsg_t * | mrmsg_new () |
Create new message object. More... | |
void | mrmsg_unref (mrmsg_t *msg) |
Free an mrmsg_t object created eg. More... | |
void | mrmsg_empty (mrmsg_t *msg) |
Empty a message object. More... | |
void | mrmsg_set_text (mrmsg_t *msg, const char *text) |
Set the text of a message object. More... | |
mrpoortext_t * | mrmsg_get_summary (mrmsg_t *msg, mrchat_t *chat) |
Get a summary for a message. More... | |
int | mrmsg_show_padlock (mrmsg_t *msg) |
Check if a padlock should be shown beside the message. More... | |
char * | mrmsg_get_summarytext (mrmsg_t *msg, int approx_characters) |
Get a message summary as a single line of text. More... | |
mrpoortext_t * | mrmsg_get_mediainfo (mrmsg_t *msg) |
Get real author and title. More... | |
void | mrmsg_save_param_to_disk (mrmsg_t *msg) |
can be used to add some additional, persistent information to a messages record. | |
Public Attributes | |
uint32_t | m_id |
Message ID. More... | |
uint32_t | m_from_id |
Contact ID of the sender. More... | |
uint32_t | m_to_id |
Contact ID of the recipient. More... | |
uint32_t | m_chat_id |
Chat ID the message belongs to. More... | |
time_t | m_timestamp |
Unix time the message was sended or received. More... | |
int | m_type |
Type of the message. More... | |
int | m_state |
Message state. More... | |
char * | m_text |
message text or NULL if unset | |
mrparam_t * | m_param |
Additional paramter for the message. More... | |
int | m_starred |
Starred-state of the message. More... | |
int | m_is_msgrmsg |
Set to 1 if the message was sent by another messenger. More... | |
An object representing a single message in memory.
The message object is not updated. If you want an update, you have to recreate the object.
void mrmsg_empty | ( | mrmsg_t * | msg | ) |
Empty a message object.
msg | The message object to empty. |
mrpoortext_t * mrmsg_get_mediainfo | ( | mrmsg_t * | msg | ) |
Get real author and title.
(as return.text1, this is not always the sender, NULL if unknown) and title (return.text2, NULL if unknown) of a message.
For voice messages, the author the sender and the trackname is the sending time For music messages, we read the information from the filename We do not read ID3 and such at this stage, the needed libraries may be buggy and the whole stuff is way to complicated. However, this is not a great disadvantage, as the sender usually sets the filename in a way we expect it - if not, we simply print the whole filename as we do it for documents. All fine in any case :-)
msg | the message object |
mrpoortext_t * mrmsg_get_summary | ( | mrmsg_t * | msg, |
mrchat_t * | chat | ||
) |
Get a summary for a message.
The last parameter can be set to speed up things if the chat object is already available; if not, it is faster to pass NULL here. The result must be freed using mrpoortext_unref(). Typically used to display a search result.
char * mrmsg_get_summarytext | ( | mrmsg_t * | msg, |
int | approx_characters | ||
) |
Get a message summary as a single line of text.
Typically used for notifications. The returned value must be free()'d.
mrmsg_t * mrmsg_new | ( | ) |
Create new message object.
Message objects are needed eg. for sending messages using mrmailbox_send_msg(). Moreover, they are returned eg. from mrmailbox_get_msg(), set up with the current state of a message. The message object is not updated; to achieve this, you have to recreate it.
void mrmsg_set_text | ( | mrmsg_t * | msg, |
const char * | text | ||
) |
Set the text of a message object.
The text is not modified in the database, this function is only a helper to set up a message object to be sent afterwards. The type of the message object is not changed implicitly to MR_MSG_TEXT when using this function. Previously set texts are free()'d.
msg | Message to set the text for. |
text | Text to set. The function creates a copy of the given text so that it can be free()'d just after this function is called. |
int mrmsg_show_padlock | ( | mrmsg_t * | msg | ) |
Check if a padlock should be shown beside the message.
msg | The message object. |
void mrmsg_unref | ( | mrmsg_t * | msg | ) |
Free an mrmsg_t object created eg.
by mrmsg_new() or mrmailbox_get_msg(). This also free()s all strings; so if you set up the object yourself, make sure to use strdup()!
msg | The message object to free. |
uint32_t mrmsg_t::m_chat_id |
Chat ID the message belongs to.
0 if unset. See mrchat_t::m_id for special IDs. Use mrmailbox_get_chat() to load details about the chat.
uint32_t mrmsg_t::m_from_id |
Contact ID of the sender.
0 if unset. See mrcontact_t::m_id for special IDs. Use mrmailbox_get_contact() to load details about this contact.
uint32_t mrmsg_t::m_id |
Message ID.
Special message IDs:
Normal message IDs are larger than these special ones.
int mrmsg_t::m_is_msgrmsg |
Set to 1 if the message was sent by another messenger.
0 otherwise.
mrparam_t* mrmsg_t::m_param |
Additional paramter for the message.
MRP_FILE, MRP_WIDTH, MRP_HEIGHT etc. depends on m_type. Never a NULL-pointer.
int mrmsg_t::m_starred |
Starred-state of the message.
0=no, 1=yes.
int mrmsg_t::m_state |
Message state.
Incoming message states:
Outgoing message states:
The state of just created message objects is MR_STATE_UNDEFINED (0).
time_t mrmsg_t::m_timestamp |
Unix time the message was sended or received.
0 if unset.
uint32_t mrmsg_t::m_to_id |
Contact ID of the recipient.
0 if unset. See mrcontact_t::m_id for special IDs. Use mrmailbox_get_contact() to load details about this contact.
int mrmsg_t::m_type |
Type of the message.
Undefined types are filed under MR_MSG_UNDEFINED (0).