plugin: make GstPlugin object structure opaque for now
authorTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 29 Apr 2012 16:03:32 +0000 (17:03 +0100)
committerTim-Philipp Müller <tim.muller@collabora.co.uk>
Sun, 29 Apr 2012 16:03:32 +0000 (17:03 +0100)
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
gst/gstplugin.h

index 19f02d3..642a185 100644 (file)
@@ -257,5 +257,47 @@ extern GstDebugCategory *_priv_GST_CAT_POLL;
 #endif
 
 
+/**** objects made opaque until the private bits have been made private ****/
+
+#include <gmodule.h>
+#include <time.h> /* time_t */
+#include <sys/types.h> /* off_t */
+#include <sys/stat.h> /* 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__ */
index 199ec58..275ccfe 100644 (file)
 
 #include <gst/gstconfig.h>
 
-#include <time.h> /* time_t */
-#include <sys/types.h> /* off_t */
-#include <sys/stat.h> /* off_t */
-#include <gmodule.h>
 #include <gst/gstobject.h>
 #include <gst/gstmacros.h>
 #include <gst/gststructure.h>
 
 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