00001
00002
00003 #ifndef _GSTREAMERMM_TEE_H
00004 #define _GSTREAMERMM_TEE_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gstreamermm/element.h>
00010
00011
00012 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00013 typedef struct _GstTee GstTee;
00014 typedef struct _GstTeeClass GstTeeClass;
00015 #endif
00016
00017
00018 namespace Gst
00019 { class Tee_Class; }
00020 namespace Gst
00021 {
00022
00028 enum TeePullMode
00029 {
00030 TEE_PULL_MODE_NEVER,
00031 TEE_PULL_MODE_SINGLE
00032 };
00033
00034 }
00035
00036
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038 namespace Glib
00039 {
00040
00041 template <>
00042 class Value<Gst::TeePullMode> : public Glib::Value_Enum<Gst::TeePullMode>
00043 {
00044 public:
00045 static GType value_type() G_GNUC_CONST;
00046 };
00047
00048 }
00049 #endif
00050
00051
00052 namespace Gst
00053 {
00054
00055
00065 class Tee
00066 : public Gst::Element
00067 {
00068
00069 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00070
00071 public:
00072 typedef Tee CppObjectType;
00073 typedef Tee_Class CppClassType;
00074 typedef GstTee BaseObjectType;
00075 typedef GstTeeClass BaseClassType;
00076
00077 private: friend class Tee_Class;
00078 static CppClassType tee_class_;
00079
00080 private:
00081
00082 Tee(const Tee&);
00083 Tee& operator=(const Tee&);
00084
00085 protected:
00086 explicit Tee(const Glib::ConstructParams& construct_params);
00087 explicit Tee(GstTee* castitem);
00088
00089 #endif
00090
00091 public:
00092 virtual ~Tee();
00093
00094 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00095 static GType get_type() G_GNUC_CONST;
00096 static GType get_base_type() G_GNUC_CONST;
00097 #endif
00098
00100 GstTee* gobj() { return reinterpret_cast<GstTee*>(gobject_); }
00101
00103 const GstTee* gobj() const { return reinterpret_cast<GstTee*>(gobject_); }
00104
00106 GstTee* gobj_copy();
00107
00108 private:
00109
00110
00111 protected:
00112 Tee();
00113 Tee(const Glib::ustring& name);
00114
00115 public:
00119 static Glib::RefPtr<Tee> create();
00120
00121
00125 static Glib::RefPtr<Tee> create(const Glib::ustring& name);
00126
00127
00128 #ifdef GLIBMM_PROPERTIES_ENABLED
00129
00135 Glib::PropertyProxy_ReadOnly<int> property_num_src_pads() const;
00136 #endif //#GLIBMM_PROPERTIES_ENABLED
00137
00138
00139 #ifdef GLIBMM_PROPERTIES_ENABLED
00140
00146 Glib::PropertyProxy<bool> property_has_sink_loop() ;
00147 #endif //#GLIBMM_PROPERTIES_ENABLED
00148
00149 #ifdef GLIBMM_PROPERTIES_ENABLED
00150
00156 Glib::PropertyProxy_ReadOnly<bool> property_has_sink_loop() const;
00157 #endif //#GLIBMM_PROPERTIES_ENABLED
00158
00159 #ifdef GLIBMM_PROPERTIES_ENABLED
00160
00166 Glib::PropertyProxy<bool> property_has_chain() ;
00167 #endif //#GLIBMM_PROPERTIES_ENABLED
00168
00169 #ifdef GLIBMM_PROPERTIES_ENABLED
00170
00176 Glib::PropertyProxy_ReadOnly<bool> property_has_chain() const;
00177 #endif //#GLIBMM_PROPERTIES_ENABLED
00178
00179 #ifdef GLIBMM_PROPERTIES_ENABLED
00180
00186 Glib::PropertyProxy<bool> property_silent() ;
00187 #endif //#GLIBMM_PROPERTIES_ENABLED
00188
00189 #ifdef GLIBMM_PROPERTIES_ENABLED
00190
00196 Glib::PropertyProxy_ReadOnly<bool> property_silent() const;
00197 #endif //#GLIBMM_PROPERTIES_ENABLED
00198
00199 #ifdef GLIBMM_PROPERTIES_ENABLED
00200
00206 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_last_message() const;
00207 #endif //#GLIBMM_PROPERTIES_ENABLED
00208
00209
00210 #ifdef GLIBMM_PROPERTIES_ENABLED
00211
00217 Glib::PropertyProxy<TeePullMode> property_pull_mode() ;
00218 #endif //#GLIBMM_PROPERTIES_ENABLED
00219
00220 #ifdef GLIBMM_PROPERTIES_ENABLED
00221
00227 Glib::PropertyProxy_ReadOnly<TeePullMode> property_pull_mode() const;
00228 #endif //#GLIBMM_PROPERTIES_ENABLED
00229
00230
00231 public:
00232
00233 public:
00234
00235 #ifdef GLIBMM_VFUNCS_ENABLED
00236 #endif //GLIBMM_VFUNCS_ENABLED
00237
00238 protected:
00239
00240 #ifdef GLIBMM_VFUNCS_ENABLED
00241 #endif //GLIBMM_VFUNCS_ENABLED
00242
00243
00244 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00245 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00246
00247
00248 };
00249
00250 }
00251
00252
00253 namespace Glib
00254 {
00263 Glib::RefPtr<Gst::Tee> wrap(GstTee* object, bool take_copy = false);
00264 }
00265
00266
00267 #endif
00268