gstregistry.h 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109
  1. /* GStreamer
  2. * Copyright (C) 1999,2000 Erik Walthinsen <omega@cse.ogi.edu>
  3. * 2000 Wim Taymans <wim.taymans@chello.be>
  4. *
  5. * gstregistry.h: Header for registry handling
  6. *
  7. * This library is free software; you can redistribute it and/or
  8. * modify it under the terms of the GNU Library General Public
  9. * License as published by the Free Software Foundation; either
  10. * version 2 of the License, or (at your option) any later version.
  11. *
  12. * This library is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Library General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Library General Public
  18. * License along with this library; if not, write to the
  19. * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
  20. * Boston, MA 02110-1301, USA.
  21. */
  22. #ifndef __GST_REGISTRY_H__
  23. #define __GST_REGISTRY_H__
  24. #include <gst/gstconfig.h>
  25. #include <gst/gstplugin.h>
  26. #include <gst/gstpluginfeature.h>
  27. G_BEGIN_DECLS
  28. #define GST_TYPE_REGISTRY (gst_registry_get_type ())
  29. #define GST_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GST_TYPE_REGISTRY, GstRegistry))
  30. #define GST_IS_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GST_TYPE_REGISTRY))
  31. #define GST_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GST_TYPE_REGISTRY, GstRegistryClass))
  32. #define GST_IS_REGISTRY_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GST_TYPE_REGISTRY))
  33. #define GST_REGISTRY_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GST_TYPE_REGISTRY, GstRegistryClass))
  34. typedef struct _GstRegistry GstRegistry;
  35. typedef struct _GstRegistryClass GstRegistryClass;
  36. typedef struct _GstRegistryPrivate GstRegistryPrivate;
  37. /**
  38. * GstRegistry:
  39. *
  40. * Opaque #GstRegistry structure.
  41. */
  42. struct _GstRegistry {
  43. GstObject object;
  44. /*< private >*/
  45. GstRegistryPrivate *priv;
  46. };
  47. struct _GstRegistryClass {
  48. GstObjectClass parent_class;
  49. };
  50. GType gst_registry_get_type (void);
  51. GstRegistry * gst_registry_get (void);
  52. gboolean gst_registry_scan_path (GstRegistry *registry, const gchar *path);
  53. #if 0
  54. void gst_registry_add_path (GstRegistry * registry, const gchar * path);
  55. GList* gst_registry_get_path_list (GstRegistry *registry);
  56. #endif
  57. gboolean gst_registry_add_plugin (GstRegistry *registry, GstPlugin *plugin);
  58. void gst_registry_remove_plugin (GstRegistry *registry, GstPlugin *plugin);
  59. gboolean gst_registry_add_feature (GstRegistry * registry, GstPluginFeature * feature);
  60. void gst_registry_remove_feature (GstRegistry * registry, GstPluginFeature * feature);
  61. GList* gst_registry_get_plugin_list (GstRegistry *registry);
  62. GList* gst_registry_plugin_filter (GstRegistry *registry,
  63. GstPluginFilter filter,
  64. gboolean first,
  65. gpointer user_data);
  66. GList* gst_registry_feature_filter (GstRegistry *registry,
  67. GstPluginFeatureFilter filter,
  68. gboolean first,
  69. gpointer user_data);
  70. GList * gst_registry_get_feature_list (GstRegistry *registry,
  71. GType type);
  72. GList * gst_registry_get_feature_list_by_plugin (GstRegistry *registry, const gchar *name);
  73. guint32 gst_registry_get_feature_list_cookie (GstRegistry *registry);
  74. GstPlugin* gst_registry_find_plugin (GstRegistry *registry, const gchar *name);
  75. GstPluginFeature* gst_registry_find_feature (GstRegistry *registry, const gchar *name, GType type);
  76. GstPlugin * gst_registry_lookup (GstRegistry *registry, const char *filename);
  77. GstPluginFeature * gst_registry_lookup_feature (GstRegistry *registry, const char *name);
  78. gboolean gst_registry_check_feature_version (GstRegistry *registry,
  79. const gchar *feature_name,
  80. guint min_major,
  81. guint min_minor,
  82. guint min_micro);
  83. #ifdef G_DEFINE_AUTOPTR_CLEANUP_FUNC
  84. G_DEFINE_AUTOPTR_CLEANUP_FUNC(GstRegistry, gst_object_unref)
  85. #endif
  86. G_END_DECLS
  87. #endif /* __GST_REGISTRY_H__ */