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
00029
00030 #include <gst/gstpluginfeature.h>
00031 #include <gstreamermm/object.h>
00032
00033
00034 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00035 typedef struct _GstPluginFeature GstPluginFeature;
00036 typedef struct _GstPluginFeatureClass GstPluginFeatureClass;
00037 #endif
00038
00039
00040 namespace Gst
00041 { class PluginFeature_Class; }
00042 namespace Gst
00043 {
00044
00050 enum Rank
00051 {
00052 RANK_NONE = 0,
00053 RANK_MARGINAL = 64,
00054 RANK_SECONDARY = 128,
00055 RANK_PRIMARY = 256
00056 };
00057
00058 }
00059
00060
00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00062 namespace Glib
00063 {
00064
00065 template <>
00066 class Value<Gst::Rank> : public Glib::Value_Enum<Gst::Rank>
00067 {
00068 public:
00069 static GType value_type() G_GNUC_CONST;
00070 };
00071
00072 }
00073 #endif
00074
00075
00076 namespace Gst
00077 {
00078
00079
00084 class PluginFeature : public Object
00085 {
00086
00087 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00088
00089 public:
00090 typedef PluginFeature CppObjectType;
00091 typedef PluginFeature_Class CppClassType;
00092 typedef GstPluginFeature BaseObjectType;
00093 typedef GstPluginFeatureClass BaseClassType;
00094
00095 private: friend class PluginFeature_Class;
00096 static CppClassType pluginfeature_class_;
00097
00098 private:
00099
00100 PluginFeature(const PluginFeature&);
00101 PluginFeature& operator=(const PluginFeature&);
00102
00103 protected:
00104 explicit PluginFeature(const Glib::ConstructParams& construct_params);
00105 explicit PluginFeature(GstPluginFeature* castitem);
00106
00107 #endif
00108
00109 public:
00110 virtual ~PluginFeature();
00111
00112 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00113 static GType get_type() G_GNUC_CONST;
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
00182 static void free(Glib::ListHandle< Glib::RefPtr<Gst::PluginFeature> >);
00183
00184
00193 bool check_version(guint min_major, guint min_minor, guint min_micro) const;
00194
00195
00196
00197
00198
00199 public:
00200
00201 public:
00202
00203 #ifdef GLIBMM_VFUNCS_ENABLED
00204 #endif //GLIBMM_VFUNCS_ENABLED
00205
00206 protected:
00207
00208 #ifdef GLIBMM_VFUNCS_ENABLED
00209 #endif //GLIBMM_VFUNCS_ENABLED
00210
00211
00212 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00213 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00214
00215
00216 };
00217
00218 }
00219
00220
00221 namespace Glib
00222 {
00231 Glib::RefPtr<Gst::PluginFeature> wrap(GstPluginFeature* object, bool take_copy = false);
00232 }
00233
00234
00235 #endif
00236