[glib] Create g_content_type_is_mime_type()



commit fe1a749ca6803057dd876f374b5296c3c800fde1
Author: TingPing <tingping tingping se>
Date:   Wed Mar 8 23:02:10 2017 -0500

    Create g_content_type_is_mime_type()
    
    Convenience wrapper around g_content_type_is_a().
    
    https://bugzilla.gnome.org/show_bug.cgi?id=734946

 gio/gcontenttype-win32.c |   17 +++++++++++++++++
 gio/gcontenttype.c       |   20 ++++++++++++++++++++
 gio/gcontenttype.h       |    3 +++
 3 files changed, 40 insertions(+), 0 deletions(-)
---
diff --git a/gio/gcontenttype-win32.c b/gio/gcontenttype-win32.c
index 04d8fd3..e50a25f 100644
--- a/gio/gcontenttype-win32.c
+++ b/gio/gcontenttype-win32.c
@@ -131,6 +131,23 @@ g_content_type_is_a (const gchar *type,
 }
 
 gboolean
+g_content_type_is_mime_type (const gchar *type,
+                             const gchar *mime_type)
+{
+  gchar *content_type;
+  gboolean ret;
+
+  g_return_val_if_fail (type != NULL, FALSE);
+  g_return_val_if_fail (mime_type != NULL, FALSE);
+
+  content_type = g_content_type_from_mime_type (mime_type);
+  ret = g_content_type_is_a (type, content_type);
+  g_free (content_type);
+
+  return ret;
+}
+
+gboolean
 g_content_type_is_unknown (const gchar *type)
 {
   g_return_val_if_fail (type != NULL, FALSE);
diff --git a/gio/gcontenttype.c b/gio/gcontenttype.c
index 76a5b13..d5c2b5a 100644
--- a/gio/gcontenttype.c
+++ b/gio/gcontenttype.c
@@ -162,6 +162,26 @@ g_content_type_is_a (const gchar *type,
 }
 
 /**
+ * g_content_type_is_mime_type:
+ * @type: a content type string
+ * @mime_type: a mime type string
+ *
+ * Determines if @type is a subset of @mime_type.
+ * Convenience wrapper around g_content_type_is_a().
+ *
+ * Returns: %TRUE if @type is a kind of @mime_type,
+ *     %FALSE otherwise.
+ *
+ * Since: 2.52
+ */
+gboolean
+g_content_type_is_mime_type (const gchar *type,
+                             const gchar *mime_type)
+{
+  return g_content_type_is_a (type, mime_type);
+}
+
+/**
  * g_content_type_is_unknown:
  * @type: a content type string
  *
diff --git a/gio/gcontenttype.h b/gio/gcontenttype.h
index 647c7d7..1e5bd47 100644
--- a/gio/gcontenttype.h
+++ b/gio/gcontenttype.h
@@ -35,6 +35,9 @@ gboolean g_content_type_equals            (const gchar  *type1,
 GLIB_AVAILABLE_IN_ALL
 gboolean g_content_type_is_a              (const gchar  *type,
                                            const gchar  *supertype);
+GLIB_AVAILABLE_IN_2_52
+gboolean g_content_type_is_mime_type      (const gchar *type,
+                                           const gchar *mime_type);
 GLIB_AVAILABLE_IN_ALL
 gboolean g_content_type_is_unknown        (const gchar  *type);
 GLIB_AVAILABLE_IN_ALL


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