[gmime] Added convenience functions to determine if a mime part is an attachment



commit e132d8675e209fdcb0fd512661c30e5e426de7ba
Author: Jeffrey Stedfast <jeff xamarin com>
Date:   Sat May 24 20:54:59 2014 -0400

    Added convenience functions to determine if a mime part is an attachment
    
    2014-05-24  Jeffrey Stedfast  <fejj gnome org>
    
        * gmime/gmime-part.c (g_mime_part_is_attachment): New function to
        determine if a MIME part is an attachment or not.
    
        * gmime/gmime-disposition.c (g_mime_content_disposition_is_attachment):
        New function to determine if the Content-Disposition value matches
        "attachment".

 ChangeLog                 |    9 +++++++++
 gmime/gmime-disposition.c |   19 +++++++++++++++++++
 gmime/gmime-disposition.h |    2 ++
 gmime/gmime-part.c        |   24 ++++++++++++++++++++++++
 gmime/gmime-part.h        |    2 ++
 5 files changed, 56 insertions(+), 0 deletions(-)
---
diff --git a/ChangeLog b/ChangeLog
index 7f43702..5c15b64 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2014-05-24  Jeffrey Stedfast  <fejj gnome org>
+
+       * gmime/gmime-part.c (g_mime_part_is_attachment): New function to
+       determine if a MIME part is an attachment or not.
+
+       * gmime/gmime-disposition.c (g_mime_content_disposition_is_attachment):
+       New function to determine if the Content-Disposition value matches
+       "attachment".
+
 2014-02-19  Jeffrey Stedfast  <fejj gnome org>
 
        * README: Bumped version
diff --git a/gmime/gmime-disposition.c b/gmime/gmime-disposition.c
index 94eaa06..7edd39e 100644
--- a/gmime/gmime-disposition.c
+++ b/gmime/gmime-disposition.c
@@ -318,6 +318,25 @@ g_mime_content_disposition_get_parameter (GMimeContentDisposition *disposition,
 
 
 /**
+ * g_mime_content_disposition_is_attachment:
+ * @disposition: a #GMimeContentDisposition object
+ *
+ * Determines if a Content-Disposition has a value of "attachment".
+ *
+ * Returns: %TRUE if the value matches "attachment", otherwise %FALSE.
+ *
+ * Since: 2.6.21
+ **/
+gboolean
+g_mime_content_disposition_is_attachment (GMimeContentDisposition *disposition)
+{
+       g_return_val_if_fail (GMIME_IS_CONTENT_DISPOSITION (disposition), FALSE);
+       
+       return !g_ascii_strcasecmp (disposition->disposition, "attachment");
+}
+
+
+/**
  * g_mime_content_disposition_to_string:
  * @disposition: a #GMimeContentDisposition object
  * @fold: fold header if needed
diff --git a/gmime/gmime-disposition.h b/gmime/gmime-disposition.h
index cb10fdf..ddf8178 100644
--- a/gmime/gmime-disposition.h
+++ b/gmime/gmime-disposition.h
@@ -97,6 +97,8 @@ void g_mime_content_disposition_set_parameter (GMimeContentDisposition *disposit
 const char *g_mime_content_disposition_get_parameter (GMimeContentDisposition *disposition,
                                                      const char *attribute);
 
+gboolean g_mime_content_disposition_is_attachment (GMimeContentDisposition *disposition);
+
 char *g_mime_content_disposition_to_string (GMimeContentDisposition *disposition, gboolean fold);
 
 G_END_DECLS
diff --git a/gmime/gmime-part.c b/gmime/gmime-part.c
index 71b654f..9aafa9f 100644
--- a/gmime/gmime-part.c
+++ b/gmime/gmime-part.c
@@ -805,6 +805,30 @@ g_mime_part_get_best_content_encoding (GMimePart *mime_part, GMimeEncodingConstr
 
 
 /**
+ * g_mime_part_is_attachment:
+ * @mime_part: a #GMimePart object
+ *
+ * Determines whether or not the part is an attachment based on the
+ * value of the Content-Disposition header.
+ *
+ * Returns: %TRUE if the part is an attachment, otherwise %FALSE.
+ *
+ * Since: 2.6.21
+ **/
+gboolean
+g_mime_part_is_attachment (GMimePart *mime_part)
+{
+       GMimeContentDisposition *disposition;
+       
+       g_return_val_if_fail (GMIME_IS_PART (mime_part), FALSE);
+       
+       disposition = g_mime_object_get_content_disposition ((GMimeObject *) mime_part);
+       
+       return disposition != null && g_mime_content_disposition_is_attachment (disposition);
+}
+
+
+/**
  * g_mime_part_set_filename:
  * @mime_part: a #GMimePart object
  * @filename: the file name
diff --git a/gmime/gmime-part.h b/gmime/gmime-part.h
index 6d96b82..0f00c83 100644
--- a/gmime/gmime-part.h
+++ b/gmime/gmime-part.h
@@ -96,6 +96,8 @@ GMimeContentEncoding g_mime_part_get_content_encoding (GMimePart *mime_part);
 
 GMimeContentEncoding g_mime_part_get_best_content_encoding (GMimePart *mime_part, GMimeEncodingConstraint 
constraint);
 
+gboolean g_mime_part_is_attachment (GMimePart *mime_part);
+
 void g_mime_part_set_filename (GMimePart *mime_part, const char *filename);
 const char *g_mime_part_get_filename (GMimePart *mime_part);
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]