diff --git a/deltachat-core.cbp b/deltachat-core.cbp
index 3868700e..ed5e1a99 100644
--- a/deltachat-core.cbp
+++ b/deltachat-core.cbp
@@ -469,6 +469,9 @@
+
+
+
@@ -507,9 +510,6 @@
-
-
-
diff --git a/src/mrarray.h b/src/mrarray.h
index 119eb0d1..37108ac1 100644
--- a/src/mrarray.h
+++ b/src/mrarray.h
@@ -31,7 +31,7 @@ typedef struct mrmailbox_t mrmailbox_t;
/**
- * An object representing a simple array.
+ * An object containing a simple array.
* This object is used in several placed where functions need to return an array.
* The items of the array are typically IDs.
* To free an array object, use mrarray_unref().
diff --git a/src/mrchatlist.c b/src/mrchatlist.c
index 4354abaa..f2512a9e 100644
--- a/src/mrchatlist.c
+++ b/src/mrchatlist.c
@@ -159,34 +159,32 @@ uint32_t mrchatlist_get_msg_id(mrchatlist_t* chatlist, size_t index)
/**
* Get a summary for a chatlist index.
*
- * The summary is returned by a mrpoortext_t object with the following fields:
+ * The summary is returned by a mrlot_t object with the following fields:
*
- * - m_text1: contains the username or the strings "Me", "Draft" and so on.
+ * - mrlot_t::m_text1: contains the username or the strings "Me", "Draft" and so on.
* The string may be colored by having a look at m_text1_meaning.
- * If there is no such name, the element is NULL (eg. for "No messages")
+ * If there is no such name or it should not be displayed, the element is NULL.
*
- * - m_text1_meaning: one of the MR_TEXT1_* constants
+ * - mrlot_t::m_text1_meaning: one of MR_TEXT1_USERNAME, MR_TEXT1_SELF or MR_TEXT1_DRAFT.
+ * Typically used to show mrlot_t::m_text1 with different colors. 0 if not applicable.
*
- * - m_text2: contains an excerpt of the message text or strings as
- * "No messages". may be NULL of there is no such text (eg. for the archive)
+ * - mrlot_t::m_text2: contains an excerpt of the message text or strings as
+ * "No messages". May be NULL of there is no such text (eg. for the archive link)
*
- * - m_timestamp: the timestamp of the message. May be 0 if there is no message
+ * - mrlot_t::m_timestamp: the timestamp of the message. 0 if not applicable.
*
- * - m_state: the state of the message as one of the MR_STATE_* identifiers. 0 if there is no message.
+ * - mrlot_t::m_state: The state of the message as one of the MR_STATE_* constants (see #mrmsg_get_state()). 0 if not applicable.
*
* @memberof mrchatlist_t
*
* @param chatlist The chatlist to query as returned eg. from mrmailbox_get_chatlist().
- *
* @param index The index to query in the chatlist.
+ * @param chat To speed up things, pass an already available chat object here.
+ * If the chat object is not yet available, it is faster to pass NULL.
*
- * @param chat Giving the correct chat object here, this this will speed up
- * things a little. If the chat object is not available by you, it is faster to pass
- * NULL here.
- *
- * @return The result must be freed using mrpoortext_unref(). The function never returns NULL.
+ * @return The summary as an mrlot_t object. Must be freed using mrlot_unref(). NULL is never returned.
*/
-mrpoortext_t* mrchatlist_get_summary(mrchatlist_t* chatlist, size_t index, mrchat_t* chat /*may be NULL*/)
+mrlot_t* mrchatlist_get_summary(mrchatlist_t* chatlist, size_t index, mrchat_t* chat /*may be NULL*/)
{
/* The summary is created by the chat, not by the last message.
This is because we may want to display drafts here or stuff as
@@ -194,7 +192,7 @@ mrpoortext_t* mrchatlist_get_summary(mrchatlist_t* chatlist, size_t index, mrcha
Also, sth. as "No messages" would not work if the summary comes from a
message. */
- mrpoortext_t* ret = mrpoortext_new(); /* the function never returns NULL */
+ mrlot_t* ret = mrlot_new(); /* the function never returns NULL */
int locked = 0;
uint32_t lastmsg_id = 0;
mrmsg_t* lastmsg = NULL;
@@ -263,7 +261,7 @@ mrpoortext_t* mrchatlist_get_summary(mrchatlist_t* chatlist, size_t index, mrcha
else
{
/* show the last message */
- mrpoortext_fill(ret, lastmsg, chat, lastcontact);
+ mrlot_fill(ret, lastmsg, chat, lastcontact);
}
cleanup:
diff --git a/src/mrchatlist.h b/src/mrchatlist.h
index 0f248631..2dc1ec4a 100644
--- a/src/mrchatlist.h
+++ b/src/mrchatlist.h
@@ -28,7 +28,7 @@ extern "C" {
typedef struct mrmailbox_t mrmailbox_t;
-typedef struct mrpoortext_t mrpoortext_t;
+typedef struct mrlot_t mrlot_t;
typedef struct mrchat_t mrchat_t;
typedef struct mrarray_t mrarray_t;
@@ -57,7 +57,7 @@ void mrchatlist_unref (mrchatlist_t*);
size_t mrchatlist_get_cnt (mrchatlist_t*);
uint32_t mrchatlist_get_chat_id (mrchatlist_t*, size_t index);
uint32_t mrchatlist_get_msg_id (mrchatlist_t*, size_t index);
-mrpoortext_t* mrchatlist_get_summary (mrchatlist_t*, size_t index, mrchat_t*);
+mrlot_t* mrchatlist_get_summary (mrchatlist_t*, size_t index, mrchat_t*);
/* library-internal */
int mrchatlist_load_from_db__ (mrchatlist_t*, int listflags, const char* query);
diff --git a/src/mrlot.c b/src/mrlot.c
new file mode 100644
index 00000000..818cd845
--- /dev/null
+++ b/src/mrlot.c
@@ -0,0 +1,122 @@
+/*******************************************************************************
+ *
+ * Delta Chat Core
+ * Copyright (C) 2017 Björn Petersen
+ * Contact: r10s@b44t.com, http://b44t.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see http://www.gnu.org/licenses/ .
+ *
+ ******************************************************************************/
+
+
+#include "mrmailbox_internal.h"
+
+
+mrlot_t* mrlot_new()
+{
+ mrlot_t* ths = NULL;
+
+ if( (ths=calloc(1, sizeof(mrlot_t)))==NULL ) {
+ exit(27); /* cannot allocate little memory, unrecoverable error */
+ }
+
+ ths->m_text1_meaning = 0;
+
+ return ths;
+}
+
+
+/**
+ * Frees an object containing a set of parameters.
+ * If the set object contains strings, the strings are also freed with this function.
+ * Set objects are created eg. by mrchatlist_get_summary(), mrmsg_get_summary or by
+ * mrmsg_get_mediainfo().
+ *
+ * @memberof mrlot_t
+ *
+ * @param set The object to free.
+ *
+ * @return None
+ */
+void mrlot_unref(mrlot_t* set)
+{
+ if( set==NULL ) {
+ return;
+ }
+
+ mrlot_empty(set);
+ free(set);
+}
+
+
+void mrlot_empty(mrlot_t* ths)
+{
+ if( ths == NULL ) {
+ return;
+ }
+
+ free(ths->m_text1);
+ ths->m_text1 = NULL;
+ ths->m_text1_meaning = 0;
+
+ free(ths->m_text2);
+ ths->m_text2 = NULL;
+
+ ths->m_timestamp = 0;
+ ths->m_state = 0;
+}
+
+
+void mrlot_fill(mrlot_t* ths, const mrmsg_t* msg, const mrchat_t* chat, const mrcontact_t* contact)
+{
+ if( ths == NULL || msg == NULL ) {
+ return;
+ }
+
+ if( msg->m_from_id == MR_CONTACT_ID_SELF )
+ {
+ ths->m_text1 = mrstock_str(MR_STR_SELF);
+ ths->m_text1_meaning = MR_TEXT1_SELF;
+ }
+ else if( chat == NULL )
+ {
+ free(ths->m_text1);
+ ths->m_text1 = NULL;
+ ths->m_text1_meaning = 0;
+ }
+ else if( chat->m_type==MR_CHAT_TYPE_GROUP )
+ {
+ if( contact==NULL ) {
+ free(ths->m_text1);
+ ths->m_text1 = NULL;
+ ths->m_text1_meaning = 0;
+ }
+ else if( contact->m_name && contact->m_name[0] ) {
+ ths->m_text1 = mrcontact_get_first_name(contact->m_name);
+ ths->m_text1_meaning = MR_TEXT1_USERNAME;
+ }
+ else if( contact->m_addr && contact->m_addr[0] ) {
+ ths->m_text1 = safe_strdup(contact->m_addr);
+ ths->m_text1_meaning = MR_TEXT1_USERNAME;
+ }
+ else {
+ ths->m_text1 = safe_strdup("Unnamed contact");
+ ths->m_text1_meaning = MR_TEXT1_USERNAME;
+ }
+ }
+
+ ths->m_text2 = mrmsg_get_summarytext_by_raw(msg->m_type, msg->m_text, msg->m_param, MR_SUMMARY_CHARACTERS);
+ ths->m_timestamp = msg->m_timestamp;
+ ths->m_state = msg->m_state;
+}
diff --git a/src/mrlot.h b/src/mrlot.h
new file mode 100644
index 00000000..4af9b5b6
--- /dev/null
+++ b/src/mrlot.h
@@ -0,0 +1,64 @@
+/*******************************************************************************
+ *
+ * Delta Chat Core
+ * Copyright (C) 2017 Björn Petersen
+ * Contact: r10s@b44t.com, http://b44t.com
+ *
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see http://www.gnu.org/licenses/ .
+ *
+ ******************************************************************************/
+
+
+#ifndef __MRLOT_H__
+#define __MRLOT_H__
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+/**
+ * An object containing a set of values. The meaning of the values is defined by the function returning the set object.
+ * Set objects are created eg. by mrchatlist_get_summary(), mrmsg_get_summary() or by mrmsg_get_mediainfo().
+ *
+ * NB: _Lot_ is used in the meaning _heap_ here.
+ */
+typedef struct mrlot_t
+{
+ int m_text1_meaning; /**< The meaning of this value is defined by the creator of the object. 0 if not applicable. */
+ char* m_text1; /**< The meaning of this string is defined by the creator of the object. The string is freed with mrlot_unref(). NULL if not applicable. */
+ char* m_text2; /**< The meaning of this string is defined by the creator of the object. The string is freed with mrlot_unref(). NULL if not applicable. */
+ time_t m_timestamp; /**< The meaning of this value is defined by the creator of the object. 0 if not applicable. */
+ int m_state; /**< The meaning of this value is defined by the creator of the object. 0 if not applicable. */
+} mrlot_t;
+
+
+#define MR_TEXT1_DRAFT 1
+#define MR_TEXT1_USERNAME 2
+#define MR_TEXT1_SELF 3
+
+
+mrlot_t* mrlot_new ();
+void mrlot_empty (mrlot_t*);
+void mrlot_unref (mrlot_t*);
+
+
+/* library-internal */
+#define MR_SUMMARY_CHARACTERS 160 /* in practice, the user additionally cuts the string himself pixel-accurate */
+void mrlot_fill (mrlot_t*, const mrmsg_t*, const mrchat_t*, const mrcontact_t*);
+
+
+#ifdef __cplusplus
+} /* /extern "C" */
+#endif
+#endif /* __MRLOT_H__ */
diff --git a/src/mrmailbox.h b/src/mrmailbox.h
index f13a159f..fb3c90cc 100644
--- a/src/mrmailbox.h
+++ b/src/mrmailbox.h
@@ -144,7 +144,7 @@ extern "C" {
#include "mrchat.h"
#include "mrmsg.h"
#include "mrcontact.h"
-#include "mrpoortext.h"
+#include "mrlot.h"
#include "mrparam.h"
#include "mrevent.h"
@@ -344,6 +344,8 @@ int mrmailbox_get_thread_index (void);
/* deprecated functions */
int mrchat_set_draft (mrchat_t*, const char* msg); /* deprecated - use mrmailbox_set_draft() instead */
+#define mrpoortext_t mrlot_t
+#define mrpoortext_unref mrlot_unref
/* library-internal */
diff --git a/src/mrmsg.c b/src/mrmsg.c
index 28d66304..62359ab3 100644
--- a/src/mrmsg.c
+++ b/src/mrmsg.c
@@ -337,22 +337,27 @@ cleanup:
/**
* Get real author and title.
*
- * - For voice messages, the author is the sender and the trackname is the sending time.
- * - For music messages and videos, we read the information from the filename
- * (we do not read ID3 and such at this stage, the needed libraries are too complicated and oversized.
- * However, this is no big problem, as the sender usually sets the filename in a way we expect it)
+ * The information is returned by a mrlot_t object with the following fields:
+ *
+ * - mrlot_t::m_text1: Author of the media. For voice messages, this is the sender.
+ * For music messages, the information are read from the filename. NULL if unknown.
+ *
+ * - mrlot_t::m_text2: Title of the media. For voice messages, this is the date.
+ * For music messages, the information are read from the filename. NULL if unknown.
+ *
+ * Currently, we do not read ID3 and such at this stage, the needed libraries are too complicated and oversized.
+ * However, this is no big problem, as the sender usually sets the filename in a way we expect it.
*
* @memberof mrmsg_t
*
* @param msg The message object.
*
- * @return mrpoortext_t object that contains the author as mrpoortext_t::m_text1 and the title as mrpoortext_t::m_text2.
- * Both may be NULL if unknown. The returned object must be freed using mrpoortext_unref() when no longer used.
+ * @return Media information as an mrlot_t object. Must be freed using mrlot_unref(). NULL is never returned.
*/
-mrpoortext_t* mrmsg_get_mediainfo(mrmsg_t* msg)
+mrlot_t* mrmsg_get_mediainfo(mrmsg_t* msg)
{
- mrpoortext_t* ret = mrpoortext_new();
- char *pathNfilename = NULL;
+ mrlot_t* ret = mrlot_new();
+ char* pathNfilename = NULL;
mrcontact_t* contact = NULL;
if( msg == NULL || msg->m_mailbox == NULL ) {
@@ -491,7 +496,23 @@ int mrmsg_get_showpadlock(mrmsg_t* msg)
/**
* Get a summary for a message.
- * Typically used to display a search result.
+ *
+ * The summary is returned by a mrlot_t object with the following fields:
+ *
+ * - mrlot_t::m_text1: contains the username or the string "Me".
+ * The string may be colored by having a look at m_text1_meaning.
+ * If the name should not be displayed, the element is NULL.
+ *
+ * - mrlot_t::m_text1_meaning: one of MR_TEXT1_USERNAME or MR_TEXT1_SELF.
+ * Typically used to show mrlot_t::m_text1 with different colors. 0 if not applicable.
+ *
+ * - mrlot_t::m_text2: contains an excerpt of the message text.
+ *
+ * - mrlot_t::m_timestamp: the timestamp of the message.
+ *
+ * - mrlot_t::m_state: The state of the message as one of the MR_STATE_* constants (see #mrmsg_get_state()).
+ *
+ * Typically used to display a search result. See also mrchatlist_get_summary() to display a list of chats.
*
* @memberof mrmsg_t
*
@@ -500,12 +521,11 @@ int mrmsg_get_showpadlock(mrmsg_t* msg)
* @param chat To speed up things, pass an already available chat object here.
* If the chat object is not yet available, it is faster to pass NULL.
*
- * @return The returned summary is similar to mrchatlist_get_summary(), however, without
- * "draft", "no messages" and so on. The result must be freed using mrpoortext_unref().
+ * @return The summary as an mrlot_t object. Must be freed using mrlot_unref(). NULL is never returned.
*/
-mrpoortext_t* mrmsg_get_summary(mrmsg_t* msg, mrchat_t* chat)
+mrlot_t* mrmsg_get_summary(mrmsg_t* msg, mrchat_t* chat)
{
- mrpoortext_t* ret = mrpoortext_new();
+ mrlot_t* ret = mrlot_new();
mrcontact_t* contact = NULL;
mrchat_t* chat_to_delete = NULL;
@@ -524,7 +544,7 @@ mrpoortext_t* mrmsg_get_summary(mrmsg_t* msg, mrchat_t* chat)
contact = mrmailbox_get_contact(chat->m_mailbox, msg->m_from_id);
}
- mrpoortext_fill(ret, msg, chat, contact);
+ mrlot_fill(ret, msg, chat, contact);
cleanup:
mrcontact_unref(contact);
diff --git a/src/mrmsg.h b/src/mrmsg.h
index aa366141..331b86c0 100644
--- a/src/mrmsg.h
+++ b/src/mrmsg.h
@@ -122,12 +122,12 @@ char* mrmsg_get_file (mrmsg_t*);
char* mrmsg_get_filename (mrmsg_t*);
char* mrmsg_get_filemime (mrmsg_t*);
uint64_t mrmsg_get_filebytes (mrmsg_t*);
-mrpoortext_t* mrmsg_get_mediainfo (mrmsg_t*);
+mrlot_t* mrmsg_get_mediainfo (mrmsg_t*);
int mrmsg_get_width (mrmsg_t*);
int mrmsg_get_height (mrmsg_t*);
int mrmsg_get_duration (mrmsg_t*);
int mrmsg_get_showpadlock (mrmsg_t*);
-mrpoortext_t* mrmsg_get_summary (mrmsg_t*, mrchat_t*);
+mrlot_t* mrmsg_get_summary (mrmsg_t*, mrchat_t*);
char* mrmsg_get_summarytext (mrmsg_t*, int approx_characters);
int mrmsg_is_starred (mrmsg_t*);
int mrmsg_is_forwarded (mrmsg_t*);
diff --git a/src/mrpoortext.c b/src/mrpoortext.c
index 87deaf14..d80095ef 100644
--- a/src/mrpoortext.c
+++ b/src/mrpoortext.c
@@ -1,125 +1,2 @@
-/*******************************************************************************
- *
- * Delta Chat Core
- * Copyright (C) 2017 Björn Petersen
- * Contact: r10s@b44t.com, http://b44t.com
- *
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see http://www.gnu.org/licenses/ .
- *
- ******************************************************************************/
+/* deprecated */
-
-#include "mrmailbox_internal.h"
-
-
-/*******************************************************************************
- * Main interface
- ******************************************************************************/
-
-
-mrpoortext_t* mrpoortext_new()
-{
- mrpoortext_t* ths = NULL;
-
- if( (ths=calloc(1, sizeof(mrpoortext_t)))==NULL ) {
- exit(27); /* cannot allocate little memory, unrecoverable error */
- }
-
- ths->m_text1_meaning = MR_TEXT1_NORMAL;
-
- return ths;
-}
-
-
-/**
- * Frees a poortext object. Poortext objects are typically created by mrchatlist_get_summary() or by
- * mrmsg_get_summary(). This also frees the strings objects.
- *
- * @memberof mrpoortext_t
- *
- * @param poortext The mrpoortext_t object to free.
- *
- * @return None
- */
-void mrpoortext_unref(mrpoortext_t* poortext)
-{
- if( poortext==NULL ) {
- return;
- }
-
- mrpoortext_empty(poortext);
- free(poortext);
-}
-
-
-void mrpoortext_empty(mrpoortext_t* ths)
-{
- if( ths == NULL ) {
- return;
- }
-
- free(ths->m_text1);
- ths->m_text1 = NULL;
- ths->m_text1_meaning = MR_TEXT1_NORMAL;
-
- free(ths->m_text2);
- ths->m_text2 = NULL;
-
- ths->m_timestamp = 0;
- ths->m_state = 0;
-}
-
-
-void mrpoortext_fill(mrpoortext_t* ths, const mrmsg_t* msg, const mrchat_t* chat, const mrcontact_t* contact)
-{
- if( ths == NULL || msg == NULL ) {
- return;
- }
-
- if( msg->m_from_id == MR_CONTACT_ID_SELF )
- {
- ths->m_text1 = mrstock_str(MR_STR_SELF);
- ths->m_text1_meaning = MR_TEXT1_SELF;
- }
- else if( chat == NULL )
- {
- free(ths->m_text1);
- ths->m_text1 = NULL;
- ths->m_text1_meaning = MR_TEXT1_NORMAL;
- }
- else if( chat->m_type==MR_CHAT_TYPE_GROUP )
- {
- if( contact==NULL ) {
- free(ths->m_text1);
- ths->m_text1 = NULL;
- ths->m_text1_meaning = MR_TEXT1_NORMAL;
- }
- else if( contact->m_name && contact->m_name[0] ) {
- ths->m_text1 = mrcontact_get_first_name(contact->m_name);
- ths->m_text1_meaning = MR_TEXT1_USERNAME;
- }
- else if( contact->m_addr && contact->m_addr[0] ) {
- ths->m_text1 = safe_strdup(contact->m_addr);
- ths->m_text1_meaning = MR_TEXT1_USERNAME;
- }
- else {
- ths->m_text1 = safe_strdup("Unnamed contact");
- ths->m_text1_meaning = MR_TEXT1_USERNAME;
- }
- }
-
- ths->m_text2 = mrmsg_get_summarytext_by_raw(msg->m_type, msg->m_text, msg->m_param, MR_SUMMARY_CHARACTERS);
- ths->m_timestamp = msg->m_timestamp;
- ths->m_state = msg->m_state;
-}
diff --git a/src/mrpoortext.h b/src/mrpoortext.h
index cb18ff04..d80095ef 100644
--- a/src/mrpoortext.h
+++ b/src/mrpoortext.h
@@ -1,70 +1,2 @@
-/*******************************************************************************
- *
- * Delta Chat Core
- * Copyright (C) 2017 Björn Petersen
- * Contact: r10s@b44t.com, http://b44t.com
- *
- * This program is free software: you can redistribute it and/or modify it under
- * the terms of the GNU General Public License as published by the Free Software
- * Foundation, either version 3 of the License, or (at your option) any later
- * version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see http://www.gnu.org/licenses/ .
- *
- ******************************************************************************/
+/* deprecated */
-
-#ifndef __MRPOORTEXT_H__
-#define __MRPOORTEXT_H__
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/**
- * An object representing text with some attributes. A poortext object
- * contains some strings together with their meaning and some attributes.
- * Poortext objects are returned eg. from mrchatlist_get_summary() or mrmsg_get_summary().
- */
-typedef struct mrpoortext_t
-{
- /** Defines the meaning of the m_text1 string.
- * - MR_TEXT1_NORMAL (0) = m_text1 is a normal text field.
- * - MR_TEXT1_DRAFT = m_text1 is the string "Draft", typically, this is shown in another color.
- * - MR_TEXT1_USERNAME = m_text1 is a username, typically, this is shown in another color.
- * - MR_TEXT1_SELF = m_text1 is the string "Me", typically, this is shown in another color.
- */
- int m_text1_meaning;
-
- char* m_text1; /**< The meaning is defined by m_text1_meaning and by the creator of the object. May be NULL. */
- char* m_text2; /**< The meaning is defined by the creator of the object. May be NULL. */
- time_t m_timestamp; /**< Typically a message timestamp. The concrete meaning is defined by the creator of the object. May be 0. */
- int m_state; /**< Typically a MR_MSG_STATE_* constant. May be 0. */
-} mrpoortext_t;
-
-
-#define MR_TEXT1_NORMAL 0
-#define MR_TEXT1_DRAFT 1
-#define MR_TEXT1_USERNAME 2
-#define MR_TEXT1_SELF 3
-
-
-mrpoortext_t* mrpoortext_new ();
-void mrpoortext_empty (mrpoortext_t*);
-void mrpoortext_unref (mrpoortext_t*);
-
-
-#define MR_SUMMARY_CHARACTERS 160 /**< @private in practice, the user additionally cuts the string himself pixel-accurate */
-void mrpoortext_fill (mrpoortext_t*, const mrmsg_t*, const mrchat_t*, const mrcontact_t*);
-
-
-#ifdef __cplusplus
-} /* /extern "C" */
-#endif
-#endif /* __MRPOORTEXT_H__ */