aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mm-sms.c18
-rw-r--r--src/mm-sms.h4
2 files changed, 22 insertions, 0 deletions
diff --git a/src/mm-sms.c b/src/mm-sms.c
index 41ca5f52..542230d7 100644
--- a/src/mm-sms.c
+++ b/src/mm-sms.c
@@ -139,6 +139,24 @@ mm_sms_multipart_is_complete (MMSms *self)
/*****************************************************************************/
static guint
+cmp_sms_part_index (MMSmsPart *part,
+ gpointer user_data)
+{
+ return (GPOINTER_TO_UINT (user_data) - mm_sms_part_get_index (part));
+}
+
+gboolean
+mm_sms_has_part_index (MMSms *self,
+ guint index)
+{
+ return !!g_list_find_custom (self->priv->parts,
+ GUINT_TO_POINTER (index),
+ (GCompareFunc)cmp_sms_part_index);
+}
+
+/*****************************************************************************/
+
+static guint
cmp_sms_part_sequence (MMSmsPart *a,
MMSmsPart *b)
{
diff --git a/src/mm-sms.h b/src/mm-sms.h
index 04bc7bb8..9f84eb0c 100644
--- a/src/mm-sms.h
+++ b/src/mm-sms.h
@@ -66,6 +66,10 @@ gboolean mm_sms_multipart_take_part (MMSms *self,
void mm_sms_export (MMSms *self);
const gchar *mm_sms_get_path (MMSms *self);
+
+gboolean mm_sms_has_part_index (MMSms *self,
+ guint index);
+
gboolean mm_sms_is_multipart (MMSms *self);
guint mm_sms_get_multipart_reference (MMSms *self);
gboolean mm_sms_multipart_is_complete (MMSms *self);