Do not dist gir_DATA
[platform/upstream/atk.git] / atk / atkstreamablecontent.h
index a4249a1..b3bd98d 100755 (executable)
  * Boston, MA 02111-1307, USA.
  */
 
+#if defined(ATK_DISABLE_SINGLE_INCLUDES) && !defined (__ATK_H_INSIDE__) && !defined (ATK_COMPILATION)
+#error "Only <atk/atk.h> can be included directly."
+#endif
+
 #ifndef __ATK_STREAMABLE_CONTENT_H__
 #define __ATK_STREAMABLE_CONTENT_H__
 
 #include <atk/atkobject.h>
 
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+G_BEGIN_DECLS
 
 #define ATK_TYPE_STREAMABLE_CONTENT           (atk_streamable_content_get_type ())
 #define ATK_IS_STREAMABLE_CONTENT(obj)        G_TYPE_CHECK_INSTANCE_TYPE ((obj), ATK_TYPE_STREAMABLE_CONTENT)
@@ -47,8 +49,9 @@ struct _AtkStreamableContentIface
   gint                      (* get_n_mime_types)  (AtkStreamableContent     *streamable);
   /*
    * Gets the specified mime type supported by this object.
-   * The mime types are 0-based so the dirst mime type is 
-   * at index 0, the second at index 1 and so on.
+   * The mime types are 0-based so the first mime type is 
+   * at index 0, the second at index 1 and so on.  The mime-type
+   * at index 0 should be considered the "default" data type for the stream.
    *
    * This assumes that the strings for the mime types are stored in the
    * AtkStreamableContent. Alternatively the G_CONST_RETURN could be removed
@@ -58,7 +61,7 @@ struct _AtkStreamableContentIface
   G_CONST_RETURN gchar*     (* get_mime_type)     (AtkStreamableContent     *streamable,
                                                    gint                     i);
   /*
-   * Is one possible implementation for this method that it constructs the
+   * One possible implementation for this method is that it constructs the
    * content appropriate for the mime type and then creates a temporary
    * file containing the content, opens the file and then calls
    * g_io_channel_unix_new_fd().
@@ -66,6 +69,24 @@ struct _AtkStreamableContentIface
   GIOChannel*               (* get_stream)        (AtkStreamableContent     *streamable,
                                                    const gchar              *mime_type);
 
+/*
+ * Returns 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 mime_type is NULL, the URI for the default (and possibly only) mime-type is
+ * returned.
+ *
+ * returns NULL if the mime-type is not supported, or if no URI can be 
+ * constructed.  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.
+ */
+    G_CONST_RETURN  gchar*  (* get_uri)           (AtkStreamableContent     *streamable,
+                                                   const gchar              *mime_type);
+
+
+  AtkFunction               pad1;
+  AtkFunction               pad2;
+  AtkFunction               pad3;
 };
 GType                  atk_streamable_content_get_type (void);
 
@@ -76,10 +97,9 @@ G_CONST_RETURN gchar*  atk_streamable_content_get_mime_type    (AtkStreamableCon
 GIOChannel*             atk_streamable_content_get_stream       (AtkStreamableContent     *streamable,
                                                                  const gchar              *mime_type);
 
+gchar*                  atk_streamable_content_get_uri          (AtkStreamableContent     *streamable,
+                                                                 const gchar              *mime_type);
 
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
-
+G_END_DECLS
 
 #endif /* __ATK_STREAMABLE_CONTENT_H__ */