New function to create a content type from a mime type. (#527175, Milan
authorMatthias Clasen <mclasen@redhat.com>
Sun, 18 May 2008 02:50:48 +0000 (02:50 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Sun, 18 May 2008 02:50:48 +0000 (02:50 +0000)
2008-05-17  Matthias Clasen  <mclasen@redhat.com>

        * gcontenttype.h:
        * gcontenttype.c: (g_content_type_from_mime_type):
        New function to create a content type from a mime type. (#527175,
        Milan Crha)

svn path=/trunk/; revision=6906

docs/reference/ChangeLog
docs/reference/gio/gio-sections.txt
gio/gcontenttype.c
gio/gcontenttype.h
gio/gio.symbols

index 31f8a0200e343f306237a0fce6b41f87081a8a79..c14efa7c32c58ae660de44393d1e87c89f982f43 100644 (file)
@@ -1,3 +1,7 @@
+2008-05-17  Matthias Clasen  <mclasen@redhat.com>
+
+       * gio/gio-sections.txt: Add new api
+
 2008-05-17  Matthias Clasen  <mclasen@redhat.com>
 
        Bug 528648 – Extra >s in Object Construction section...
index abce363f795fc1b5b1a4fa080f50d603f1114096..2bd491bb18124611c13af99abbf464416385786c 100644 (file)
@@ -990,6 +990,7 @@ g_content_type_get_description
 g_content_type_get_mime_type
 g_content_type_get_icon
 g_content_type_can_be_executable
+g_content_type_from_mime_type
 g_content_type_guess
 g_content_types_get_registered
 </SECTION>
index 69949a2d384e88d945132a46ffd119aa17ee4881..160c63df6433b9e57132de05efefcf2cb0e4d09e 100644 (file)
@@ -221,6 +221,20 @@ looks_like_text (const guchar *data,
   return TRUE;
 }
 
+char *
+g_content_type_from_mime_type (const char *mime_type)
+{
+  char *key, *content_type;
+
+  g_return_val_if_fail (mime_type != NULL, NULL);
+
+  key = g_strconcat ("MIME\\DataBase\\Content Type\\", mime_type, NULL);
+  content_type = get_registry_classes_key (key, L"Extension");
+  g_free (key);
+
+  return content_type;
+}
+
 char *
 g_content_type_guess (const char   *filename,
                      const guchar *data,
@@ -718,6 +732,25 @@ looks_like_text (const guchar *data, gsize data_size)
   return TRUE;
 }
 
+/**
+ * g_content_type_from_mime_type:
+ * @mime_type: a mime type string.
+ *
+ * Tries to find a content type based on the mime type name.
+ *
+ * Returns: Newly allocated string with content type or NULL when does not know.
+ *
+ * Since: 2.18
+ **/
+char *
+g_content_type_from_mime_type (const char *mime_type)
+{
+  g_return_val_if_fail (mime_type != NULL, NULL);
+
+  /* mime type and content type are same on unixes */
+  return g_strdup (mime_type);
+}
+
 /**
  * g_content_type_guess:
  * @filename: a string.
index 9dcbf149c4d24d4743f3a69dd911b0233786ccbe..df03fa817c6d469da440705c7b8bcf4c77dfe5ea 100644 (file)
@@ -42,6 +42,8 @@ char *   g_content_type_get_mime_type     (const char   *type);
 GIcon *  g_content_type_get_icon          (const char   *type);
 gboolean g_content_type_can_be_executable (const char   *type);
 
+char *   g_content_type_from_mime_type    (const char   *mime_type);
+
 char *   g_content_type_guess             (const char   *filename,
                                           const guchar *data,
                                           gsize         data_size,
index 7417bf896cdac7edb2070567324032597086397f..5aa1b26572436ef0c8de0112a01d646f8b6170ac 100644 (file)
@@ -140,6 +140,7 @@ g_content_type_get_description
 g_content_type_get_mime_type
 g_content_type_get_icon
 g_content_type_can_be_executable
+g_content_type_from_mime_type
 g_content_type_guess
 g_content_types_get_registered
 #endif