elementfactory: make object struct opaque for now

Make GstElementFactory opaque until we have time to
clean it up a little. It's not something anyone
would need to derive from.
This commit is contained in:
Tim-Philipp Müller 2012-05-19 15:51:53 +01:00
parent 36acfbd619
commit a9d19a6913
3 changed files with 32 additions and 34 deletions

View file

@ -319,6 +319,31 @@ struct _GstTypeFindFactoryClass {
gpointer _gst_reserved[GST_PADDING];
};
struct _GstElementFactory {
GstPluginFeature parent;
GType type; /* unique GType of element or 0 if not loaded */
gpointer metadata;
GList * staticpadtemplates; /* GstStaticPadTemplate list */
guint numpadtemplates;
/* URI interface stuff */
GstURIType uri_type;
gchar ** uri_protocols;
GList * interfaces; /* interface type names this element implements */
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
struct _GstElementFactoryClass {
GstPluginFeatureClass parent_class;
gpointer _gst_reserved[GST_PADDING];
};
G_END_DECLS
#endif /* __GST_PRIVATE_H__ */

View file

@ -24,16 +24,19 @@
#ifndef __GST_ELEMENT_FACTORY_H__
#define __GST_ELEMENT_FACTORY_H__
/**
* GstElementFactory:
*
* The opaque #GstElementFactory data structure.
*/
typedef struct _GstElementFactory GstElementFactory;
typedef struct _GstElementFactoryClass GstElementFactoryClass;
#include <gst/gstconfig.h>
#include <gst/gstelement.h>
#include <gst/gstobject.h>
#include <gst/gstpad.h>
#include <gst/gstplugin.h>
#include <gst/gstpluginfeature.h>
#include <gst/gstpadtemplate.h>
#include <gst/gstiterator.h>
#include <gst/gsturi.h>
G_BEGIN_DECLS
@ -47,37 +50,6 @@ G_BEGIN_DECLS
#define GST_IS_ELEMENT_FACTORY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE((klass),GST_TYPE_ELEMENT_FACTORY))
#define GST_ELEMENT_FACTORY_CAST(obj) ((GstElementFactory *)(obj))
/**
* GstElementFactory:
*
* The opaque #GstElementFactory data structure.
*/
struct _GstElementFactory {
GstPluginFeature parent;
GType type; /* unique GType of element or 0 if not loaded */
gpointer metadata;
GList * staticpadtemplates; /* GstStaticPadTemplate list */
guint numpadtemplates;
/* URI interface stuff */
GstURIType uri_type;
gchar ** uri_protocols;
GList * interfaces; /* interface type names this element implements */
/*< private >*/
gpointer _gst_reserved[GST_PADDING];
};
struct _GstElementFactoryClass {
GstPluginFeatureClass parent_class;
gpointer _gst_reserved[GST_PADDING];
};
GType gst_element_factory_get_type (void);
GstElementFactory * gst_element_factory_find (const gchar *name);

View file

@ -18,6 +18,7 @@
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
* Boston, MA 02111-1307, USA.
*/
#include "../../gst/gst_private.h"
#include <gst/check/gstcheck.h>