From ba0a622616070961c0d8792b741cdd066a3bb966 Mon Sep 17 00:00:00 2001 From: Aleksander Morgado Date: Wed, 1 Feb 2012 12:47:37 +0100 Subject: [PATCH] sms: new method to check if the SMS has a given part --- src/mm-sms.c | 18 ++++++++++++++++++ src/mm-sms.h | 4 ++++ 2 files changed, 22 insertions(+) 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 @@ -138,6 +138,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);