From 19d4c0ba73a84bfb179dcf2c09be1e4cb763c158 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 29 Apr 2012 17:03:32 +0100 Subject: [PATCH] plugin: make GstPlugin object structure opaque for now There's no reason anyone would want to derive from this, so just make opaque until we manage to make all the private bits private properly (which I'm not doing right now because it's more invasive and I have registry modifications locally which touch all that code as well). --- gst/gst_private.h | 42 ++++++++++++++++++++++++++++++++++++++++++ gst/gstplugin.h | 47 +++++------------------------------------------ 2 files changed, 47 insertions(+), 42 deletions(-) diff --git a/gst/gst_private.h b/gst/gst_private.h index 19f02d3630..642a18569e 100644 --- a/gst/gst_private.h +++ b/gst/gst_private.h @@ -257,5 +257,47 @@ extern GstDebugCategory *_priv_GST_CAT_POLL; #endif +/**** objects made opaque until the private bits have been made private ****/ + +#include +#include /* time_t */ +#include /* off_t */ +#include /* off_t */ + +typedef struct _GstPluginPrivate GstPluginPrivate; + +struct _GstPlugin { + GstObject object; + + /*< private >*/ + GstPluginDesc desc; + + GstPluginDesc *orig_desc; + + unsigned int flags; + + gchar * filename; + gchar * basename; /* base name (non-dir part) of plugin path */ + + GModule * module; /* contains the module if plugin is loaded */ + + off_t file_size; + time_t file_mtime; + gboolean registered; /* TRUE when the registry has seen a filename + * that matches the plugin's basename */ + + GstPluginPrivate *priv; + + gpointer _gst_reserved[GST_PADDING]; +}; + +struct _GstPluginClass { + GstObjectClass object_class; + + /*< private >*/ + gpointer _gst_reserved[GST_PADDING]; +}; + + G_END_DECLS #endif /* __GST_PRIVATE_H__ */ diff --git a/gst/gstplugin.h b/gst/gstplugin.h index 199ec58097..275ccfee84 100644 --- a/gst/gstplugin.h +++ b/gst/gstplugin.h @@ -26,19 +26,19 @@ #include -#include /* time_t */ -#include /* off_t */ -#include /* off_t */ -#include #include #include #include G_BEGIN_DECLS +/** + * GstPlugin: + * + * The opaque plugin object + */ typedef struct _GstPlugin GstPlugin; typedef struct _GstPluginClass GstPluginClass; -typedef struct _GstPluginPrivate GstPluginPrivate; typedef struct _GstPluginDesc GstPluginDesc; /** @@ -187,43 +187,6 @@ struct _GstPluginDesc { #define GST_PLUGIN_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN, GstPluginClass)) #define GST_PLUGIN_CAST(obj) ((GstPlugin*)(obj)) -/** - * GstPlugin: - * - * The plugin object - */ -struct _GstPlugin { - GstObject object; - - /*< private >*/ - GstPluginDesc desc; - - GstPluginDesc *orig_desc; - - unsigned int flags; - - gchar * filename; - gchar * basename; /* base name (non-dir part) of plugin path */ - - GModule * module; /* contains the module if plugin is loaded */ - - off_t file_size; - time_t file_mtime; - gboolean registered; /* TRUE when the registry has seen a filename - * that matches the plugin's basename */ - - GstPluginPrivate *priv; - - gpointer _gst_reserved[GST_PADDING]; -}; - -struct _GstPluginClass { - GstObjectClass object_class; - - /*< private >*/ - gpointer _gst_reserved[GST_PADDING]; -}; - #ifdef GST_PACKAGE_RELEASE_DATETIME #define __GST_PACKAGE_RELEASE_DATETIME GST_PACKAGE_RELEASE_DATETIME #else