00001
00002
00003 #ifndef _GSTREAMERMM_PROPERTYPROBE_H
00004 #define _GSTREAMERMM_PROPERTYPROBE_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/interfaces/propertyprobe.h>
00029 #include <glibmm/interface.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstPropertyProbe GstPropertyProbe;
00034 typedef struct _GstPropertyProbeClass GstPropertyProbeClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class PropertyProbe_Class; }
00040 namespace Gst
00041 {
00042
00052 class PropertyProbe : public Glib::Interface
00053 {
00054
00055 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00056
00057 public:
00058 typedef PropertyProbe CppObjectType;
00059 typedef PropertyProbe_Class CppClassType;
00060 typedef GstPropertyProbe BaseObjectType;
00061 typedef GstPropertyProbeInterface BaseClassType;
00062
00063 private:
00064 friend class PropertyProbe_Class;
00065 static CppClassType propertyprobe_class_;
00066
00067
00068 PropertyProbe(const PropertyProbe&);
00069 PropertyProbe& operator=(const PropertyProbe&);
00070
00071 protected:
00072 PropertyProbe();
00073
00080 explicit PropertyProbe(const Glib::Interface_Class& interface_class);
00081
00082 public:
00083
00084
00085
00086 explicit PropertyProbe(GstPropertyProbe* castitem);
00087
00088 protected:
00089 #endif
00090
00091 public:
00092 virtual ~PropertyProbe();
00093
00094 static void add_interface(GType gtype_implementer);
00095
00096 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00097 static GType get_type() G_GNUC_CONST;
00098 static GType get_base_type() G_GNUC_CONST;
00099 #endif
00100
00102 GstPropertyProbe* gobj() { return reinterpret_cast<GstPropertyProbe*>(gobject_); }
00103
00105 const GstPropertyProbe* gobj() const { return reinterpret_cast<GstPropertyProbe*>(gobject_); }
00106
00107 private:
00108
00109
00110 public:
00111
00112
00113
00118 const GList* get_properties() const;
00119
00120
00125 const GParamSpec* get_property(const Glib::ustring& name) const;
00126
00127
00133 Glib::ValueArray get_values(const GParamSpec* pspec) const;
00134
00139 Glib::ValueArray get_values(const Glib::ustring& name) const;
00140
00141
00150 bool needs_probe(const GParamSpec* pspec) const;
00151
00156 bool needs_probe(const Glib::ustring& name) const;
00157
00164 Glib::ValueArray probe_and_get_values(const GParamSpec* pspec);
00165
00170 Glib::ValueArray probe_and_get_values(const Glib::ustring& name);
00171
00175 void probe_property(const GParamSpec *pspec);
00176
00180 void probe_property(const Glib::ustring& name);
00181
00182
00188 Glib::SignalProxy1< void,const GParamSpec* > signal_probe_needed();
00189
00190
00191 #ifdef GLIBMM_VFUNCS_ENABLED
00192 virtual const GList* get_properties_vfunc() const;
00193 #endif //GLIBMM_VFUNCS_ENABLED
00194
00195 #ifdef GLIBMM_VFUNCS_ENABLED
00196 virtual bool needs_probe_vfunc(guint prop_id, const GParamSpec* pspec) const;
00197 #endif //GLIBMM_VFUNCS_ENABLED
00198
00199 #ifdef GLIBMM_VFUNCS_ENABLED
00200 virtual void probe_property_vfunc(guint prop_id, const GParamSpec* pspec);
00201 #endif //GLIBMM_VFUNCS_ENABLED
00202
00203
00204 #ifdef GLIBMM_VFUNCS_ENABLED
00205 virtual Glib::ValueArray get_values_vfunc(guint prop_id, const GParamSpec* pspec) const;
00206 #endif //GLIBMM_VFUNCS_ENABLED
00207
00208
00209 public:
00210
00211 public:
00212
00213 #ifdef GLIBMM_VFUNCS_ENABLED
00214 #endif //GLIBMM_VFUNCS_ENABLED
00215
00216 protected:
00217
00218 #ifdef GLIBMM_VFUNCS_ENABLED
00219 #endif //GLIBMM_VFUNCS_ENABLED
00220
00221
00222 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00223 virtual void on_probe_needed(const GParamSpec* pspec);
00224 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00225
00226
00227 };
00228
00229 }
00230
00231
00232 namespace Glib
00233 {
00242 Glib::RefPtr<Gst::PropertyProbe> wrap(GstPropertyProbe* object, bool take_copy = false);
00243
00244 }
00245
00246
00247 #endif
00248