mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 12:11:13 +00:00
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).
This commit is contained in:
parent
3453ae1a7f
commit
19d4c0ba73
2 changed files with 47 additions and 42 deletions
|
@ -257,5 +257,47 @@ extern GstDebugCategory *_priv_GST_CAT_POLL;
|
||||||
#endif
|
#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
|
G_END_DECLS
|
||||||
#endif /* __GST_PRIVATE_H__ */
|
#endif /* __GST_PRIVATE_H__ */
|
||||||
|
|
|
@ -26,19 +26,19 @@
|
||||||
|
|
||||||
#include <gst/gstconfig.h>
|
#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/gstobject.h>
|
||||||
#include <gst/gstmacros.h>
|
#include <gst/gstmacros.h>
|
||||||
#include <gst/gststructure.h>
|
#include <gst/gststructure.h>
|
||||||
|
|
||||||
G_BEGIN_DECLS
|
G_BEGIN_DECLS
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GstPlugin:
|
||||||
|
*
|
||||||
|
* The opaque plugin object
|
||||||
|
*/
|
||||||
typedef struct _GstPlugin GstPlugin;
|
typedef struct _GstPlugin GstPlugin;
|
||||||
typedef struct _GstPluginClass GstPluginClass;
|
typedef struct _GstPluginClass GstPluginClass;
|
||||||
typedef struct _GstPluginPrivate GstPluginPrivate;
|
|
||||||
typedef struct _GstPluginDesc GstPluginDesc;
|
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_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_PLUGIN, GstPluginClass))
|
||||||
#define GST_PLUGIN_CAST(obj) ((GstPlugin*)(obj))
|
#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
|
#ifdef GST_PACKAGE_RELEASE_DATETIME
|
||||||
#define __GST_PACKAGE_RELEASE_DATETIME GST_PACKAGE_RELEASE_DATETIME
|
#define __GST_PACKAGE_RELEASE_DATETIME GST_PACKAGE_RELEASE_DATETIME
|
||||||
#else
|
#else
|
||||||
|
|
Loading…
Reference in a new issue