summaryrefslogtreecommitdiff
path: root/atk/atkstreamablecontent.c
diff options
context:
space:
mode:
authorBill Haneman <billh@src.gnome.org>2006-06-14 19:44:04 +0000
committerBill Haneman <billh@src.gnome.org>2006-06-14 19:44:04 +0000
commit79d96f063ff8da5ca996eb6535bd1b0746638f76 (patch)
tree6bb05e7b24430e200a4e30c962df8ebffa49953e /atk/atkstreamablecontent.c
parent683404310e57f606018e5d36aa61a156c0142c8d (diff)
downloadatk-79d96f063ff8da5ca996eb6535bd1b0746638f76.tar.gz
Added getURI to AtkStreamableContent.
Diffstat (limited to 'atk/atkstreamablecontent.c')
-rwxr-xr-xatk/atkstreamablecontent.c35
1 files changed, 35 insertions, 0 deletions
diff --git a/atk/atkstreamablecontent.c b/atk/atkstreamablecontent.c
index 6b56456..969e57e 100755
--- a/atk/atkstreamablecontent.c
+++ b/atk/atkstreamablecontent.c
@@ -116,3 +116,38 @@ atk_streamable_content_get_stream (AtkStreamableContent *streamable,
else
return NULL;
}
+
+/*
+ * atk_streamable_content_get_uri:
+ * @streamable: a GObject instance that implements AtkStreamableContentIface
+ * @mime_type: a gchar* representing the mime type, or NULL to request a URI
+ * for the default mime type.
+ *
+ * Get a string representing a URI in IETF standard format
+ * (see http://www.ietf.org/rfc/rfc2396.txt) from which the object's content
+ * may be streamed in the specified mime-type, if one is available.
+ * If mime_type is NULL, the URI for the default (and possibly only) mime-type is
+ * returned.
+ *
+ * Note that it is possible for get_uri to return NULL but for
+ * get_stream to work nonetheless, since not all GIOChannels connect to URIs.
+ *
+ * Returns: Returns a string representing a URI, or NULL if no corresponding URI
+ * can be constructed.
+ */
+ GIOChannel*
+atk_streamable_content_get_uri (AtkStreamableContent *streamable,
+ const gchar *mime_type)
+{
+ AtkStreamableContentIface *iface;
+
+ g_return_val_if_fail (mime_type != NULL, NULL);
+ g_return_val_if_fail (ATK_IS_STREAMABLE_CONTENT (streamable), NULL);
+
+ iface = ATK_STREAMABLE_CONTENT_GET_IFACE (streamable);
+
+ if (iface->get_uri)
+ return (iface->get_uri) (streamable, mime_type);
+ else
+ return NULL;
+}