00001
00002
00003 #ifndef _GSTREAMERMM_PLUGINFEATURE_H
00004 #define _GSTREAMERMM_PLUGINFEATURE_H
00005
00006
00007 #include <glibmm.h>
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #include <gst/gstpluginfeature.h>
00029 #include <gstreamermm/object.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstPluginFeature GstPluginFeature;
00034 typedef struct _GstPluginFeatureClass GstPluginFeatureClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class PluginFeature_Class; }
00040 namespace Gst
00041 {
00042
00048 enum Rank
00049 {
00050 RANK_NONE = 0,
00051 RANK_MARGINAL = 64,
00052 RANK_SECONDARY = 128,
00053 RANK_PRIMARY = 256
00054 };
00055
00056 }
00057
00058
00059 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00060 namespace Glib
00061 {
00062
00063 template <>
00064 class Value<Gst::Rank> : public Glib::Value_Enum<Gst::Rank>
00065 {
00066 public:
00067 static GType value_type() G_GNUC_CONST;
00068 };
00069
00070 }
00071 #endif
00072
00073
00074 namespace Gst
00075 {
00076
00077
00082 class PluginFeature : public Object
00083 {
00084
00085 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00086
00087 public:
00088 typedef PluginFeature CppObjectType;
00089 typedef PluginFeature_Class CppClassType;
00090 typedef GstPluginFeature BaseObjectType;
00091 typedef GstPluginFeatureClass BaseClassType;
00092
00093 private: friend class PluginFeature_Class;
00094 static CppClassType pluginfeature_class_;
00095
00096 private:
00097
00098 PluginFeature(const PluginFeature&);
00099 PluginFeature& operator=(const PluginFeature&);
00100
00101 protected:
00102 explicit PluginFeature(const Glib::ConstructParams& construct_params);
00103 explicit PluginFeature(GstPluginFeature* castitem);
00104
00105 #endif
00106
00107 public:
00108 virtual ~PluginFeature();
00109
00110 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00111 static GType get_type() G_GNUC_CONST;
00112
00113
00114 static GType get_base_type() G_GNUC_CONST;
00115 #endif
00116
00118 GstPluginFeature* gobj() { return reinterpret_cast<GstPluginFeature*>(gobject_); }
00119
00121 const GstPluginFeature* gobj() const { return reinterpret_cast<GstPluginFeature*>(gobject_); }
00122
00124 GstPluginFeature* gobj_copy();
00125
00126 private:
00127
00128
00129 public:
00135 typedef sigc::slot< bool, const Glib::RefPtr<Gst::PluginFeature>& > SlotFilter;
00136
00137
00142 void set_rank(guint rank);
00143
00150 void set_name(const Glib::ustring& name);
00151
00155 guint get_rank() const;
00156
00160 Glib::ustring get_name() const;
00161
00176 Glib::RefPtr<Gst::PluginFeature> load();
00177
00178
00179
00180
00181
00190 bool check_version(guint min_major, guint min_minor, guint min_micro) const;
00191
00192
00193
00194
00195
00196 public:
00197
00198 public:
00199
00200 #ifdef GLIBMM_VFUNCS_ENABLED
00201 #endif //GLIBMM_VFUNCS_ENABLED
00202
00203 protected:
00204
00205 #ifdef GLIBMM_VFUNCS_ENABLED
00206 #endif //GLIBMM_VFUNCS_ENABLED
00207
00208
00209 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00210 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00211
00212
00213 };
00214
00215 }
00216
00217
00218 namespace Glib
00219 {
00228 Glib::RefPtr<Gst::PluginFeature> wrap(GstPluginFeature* object, bool take_copy = false);
00229 }
00230
00231
00232 #endif
00233