gstpad: Probes that return HANDLED can reset the data info field
[platform/upstream/gstreamer.git] / gst / gsturi.h
index 7e0f0b3..75145f9 100644 (file)
 
 #include <glib.h>
 #include <glib-object.h>
-#include <gst/gstelement.h>
-#include <gst/gstconfig.h>
-
-#include "gstminiobject.h"
 
 G_BEGIN_DECLS
 
+#include <gst/gstconfig.h>
+
+GST_API
 GQuark gst_uri_error_quark (void);
 
 /**
@@ -100,6 +99,9 @@ typedef enum {
 typedef struct _GstURIHandler GstURIHandler;
 typedef struct _GstURIHandlerInterface GstURIHandlerInterface;
 
+#include <gst/gstelement.h>
+#include "gstminiobject.h"
+
 /**
  * GstURIHandlerInterface:
  * @parent: The parent interface type
@@ -128,31 +130,51 @@ struct _GstURIHandlerInterface {
 
 /* general URI functions */
 
+GST_API
 gboolean        gst_uri_protocol_is_valid       (const gchar * protocol);
+
+GST_API
 gboolean        gst_uri_protocol_is_supported   (const GstURIType type,
                                                  const gchar *protocol);
+GST_API
 gboolean        gst_uri_is_valid                (const gchar * uri);
+
+GST_API
 gchar *         gst_uri_get_protocol            (const gchar * uri) G_GNUC_MALLOC;
+
+GST_API
 gboolean        gst_uri_has_protocol            (const gchar * uri,
                                                  const gchar * protocol);
+GST_API
 gchar *         gst_uri_get_location            (const gchar * uri) G_GNUC_MALLOC;
+
+GST_DEPRECATED_FOR(gst_uri_new)
 gchar *         gst_uri_construct               (const gchar * protocol,
                                                  const gchar * location) G_GNUC_MALLOC;
-
+GST_API
 gchar *         gst_filename_to_uri             (const gchar * filename,
                                                  GError     ** error) G_GNUC_MALLOC;
-
+GST_API
 GstElement *    gst_element_make_from_uri       (const GstURIType type,
                                                  const gchar *    uri,
                                                  const gchar *    elementname,
                                                  GError      **   error) G_GNUC_MALLOC;
 
 /* accessing the interface */
+
+GST_API
 GType                 gst_uri_handler_get_type (void);
 
+GST_API
 GstURIType            gst_uri_handler_get_uri_type  (GstURIHandler * handler);
+
+GST_API
 const gchar * const * gst_uri_handler_get_protocols (GstURIHandler * handler);
+
+GST_API
 gchar *               gst_uri_handler_get_uri       (GstURIHandler * handler) G_GNUC_MALLOC;
+
+GST_API
 gboolean              gst_uri_handler_set_uri       (GstURIHandler * handler,
                                                      const gchar   * uri,
                                                      GError       ** error);
@@ -182,12 +204,15 @@ typedef struct _GstUri GstUri;
 #define GST_URI_NO_PORT 0
 
 /* used by GST_TYPE_URI */
+
+GST_API
 GType gst_uri_get_type (void);
 
 /*
  * Method definitions.
  */
 
+GST_API
 GstUri * gst_uri_new                   (const gchar * scheme,
                                         const gchar * userinfo,
                                         const gchar * host,
@@ -195,6 +220,7 @@ GstUri * gst_uri_new                   (const gchar * scheme,
                                         const gchar * path,
                                         const gchar * query,
                                         const gchar * fragment) G_GNUC_MALLOC;
+GST_API
 GstUri * gst_uri_new_with_base         (GstUri * base,
                                         const gchar * scheme,
                                         const gchar * userinfo,
@@ -203,54 +229,122 @@ GstUri * gst_uri_new_with_base         (GstUri * base,
                                         const gchar * path,
                                         const gchar * query,
                                         const gchar * fragment) G_GNUC_MALLOC;
+GST_API
 GstUri * gst_uri_from_string           (const gchar * uri) G_GNUC_MALLOC;
+
+GST_API
 GstUri * gst_uri_from_string_with_base (GstUri * base,
                                         const gchar * uri) G_GNUC_MALLOC;
+GST_API
 gboolean gst_uri_equal                 (const GstUri * first,
                                         const GstUri * second);
+GST_API
 GstUri * gst_uri_join                  (GstUri * base_uri,
                                         GstUri * ref_uri) G_GNUC_WARN_UNUSED_RESULT;
+GST_API
 gchar *  gst_uri_join_strings          (const gchar * base_uri,
                                         const gchar * ref_uri) G_GNUC_MALLOC;
+GST_API
 gboolean gst_uri_is_writable           (const GstUri * uri);
+
+GST_API
 GstUri * gst_uri_make_writable         (GstUri * uri) G_GNUC_WARN_UNUSED_RESULT;
+
+GST_API
 gchar *  gst_uri_to_string             (const GstUri * uri) G_GNUC_MALLOC;
+
+GST_API
 gboolean gst_uri_is_normalized         (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_normalize             (GstUri * uri);
+
+GST_API
 const gchar * gst_uri_get_scheme       (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_scheme            (GstUri * uri, const gchar * scheme);
+
+GST_API
 const gchar * gst_uri_get_userinfo     (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_userinfo          (GstUri * uri, const gchar * userinfo);
+
+GST_API
 const gchar * gst_uri_get_host         (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_host              (GstUri * uri, const gchar * host);
+
+GST_API
 guint gst_uri_get_port                 (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_port              (GstUri * uri, guint port);
+
+GST_API
 gchar * gst_uri_get_path               (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_path              (GstUri * uri, const gchar * path);
+
+GST_API
 gchar * gst_uri_get_path_string        (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_path_string       (GstUri * uri, const gchar * path);
+
+GST_API
 GList * gst_uri_get_path_segments      (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_path_segments     (GstUri * uri, GList * path_segments);
+
+GST_API
 gboolean gst_uri_append_path           (GstUri * uri,
                                         const gchar * relative_path);
+GST_API
 gboolean gst_uri_append_path_segment   (GstUri * uri,
                                         const gchar * path_segment);
+GST_API
 gchar * gst_uri_get_query_string       (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_query_string      (GstUri * uri, const gchar * query);
+
+GST_API
 GHashTable * gst_uri_get_query_table   (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_query_table       (GstUri * uri,
                                         GHashTable * query_table);
+GST_API
 gboolean gst_uri_set_query_value       (GstUri * uri, const gchar * query_key,
                                         const gchar * query_value);
+GST_API
 gboolean gst_uri_remove_query_key      (GstUri * uri, const gchar * query_key);
+
+GST_API
 gboolean gst_uri_query_has_key         (const GstUri * uri,
                                         const gchar * query_key);
+
+GST_API
 const gchar * gst_uri_get_query_value  (const GstUri * uri,
                                         const gchar * query_key);
+
+GST_API
 GList * gst_uri_get_query_keys         (const GstUri * uri);
+
+GST_API
 const gchar * gst_uri_get_fragment     (const GstUri * uri);
+
+GST_API
 gboolean gst_uri_set_fragment          (GstUri * uri, const gchar * fragment);
 
+GST_API
+GHashTable * gst_uri_get_media_fragment_table  (const GstUri * uri);
+
 /**
  * gst_uri_copy:
  * @uri: This #GstUri object.