*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
+ * Boston, MA 02110-1301, USA.
*/
#ifndef __GST_TYPE_FIND_FACTORY_H__
#define GST_IS_TYPE_FIND_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_TYPE_FIND_FACTORY))
#define GST_TYPE_FIND_FACTORY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_TYPE_FIND_FACTORY, GstTypeFindFactoryClass))
-typedef struct _GstTypeFindFactory GstTypeFindFactory;
-typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
-
/**
* GstTypeFindFactory:
*
- * Object that stores information about a typefind function.
+ * Opaque object that stores information about a typefind function.
*/
-struct _GstTypeFindFactory {
- GstPluginFeature feature;
- /* <private> */
-
- GstTypeFindFunction function;
- gchar ** extensions;
- GstCaps * caps; /* FIXME: not yet saved in registry */
-
- gpointer user_data;
-
- gpointer _gst_reserved[GST_PADDING];
-};
-
-struct _GstTypeFindFactoryClass {
- GstPluginFeatureClass parent;
- /* <private> */
-
- gpointer _gst_reserved[GST_PADDING];
-};
+typedef struct _GstTypeFindFactory GstTypeFindFactory;
+typedef struct _GstTypeFindFactoryClass GstTypeFindFactoryClass;
/* typefinding interface */
-GType gst_type_find_factory_get_type (void);
-
-GList * gst_type_find_factory_get_list (void);
+GST_API
+GType gst_type_find_factory_get_type (void);
+
+GST_API
+GList * gst_type_find_factory_get_list (void);
+
+GST_API
+const gchar * const * gst_type_find_factory_get_extensions (GstTypeFindFactory *factory);
+
+GST_API
+GstCaps * gst_type_find_factory_get_caps (GstTypeFindFactory *factory);
+
+GST_API
+gboolean gst_type_find_factory_has_function (GstTypeFindFactory *factory);
+
+GST_API
+void gst_type_find_factory_call_function (GstTypeFindFactory *factory,
+ GstTypeFind *find);
-gchar ** gst_type_find_factory_get_extensions (const GstTypeFindFactory *factory);
-const GstCaps * gst_type_find_factory_get_caps (const GstTypeFindFactory *factory);
-void gst_type_find_factory_call_function (const GstTypeFindFactory *factory,
- GstTypeFind *find);
+#ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
+G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstTypeFindFactory, gst_object_unref)
+#endif
G_END_DECLS