00001
00002
00003 #ifndef _GSTREAMERMM_FDSINK_H
00004 #define _GSTREAMERMM_FDSINK_H
00005
00006
00007 #include <glibmm.h>
00008
00009 #include <gstreamermm/basesink.h>
00010
00011
00012 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00013 typedef struct _GstFdSink GstFdSink;
00014 typedef struct _GstFdSinkClass GstFdSinkClass;
00015 #endif
00016
00017
00018 namespace Gst
00019 { class FdSink_Class; }
00020 namespace Gst
00021 {
00022
00023
00033 class FdSink
00034 : public Gst::BaseSink
00035 {
00036
00037 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00038
00039 public:
00040 typedef FdSink CppObjectType;
00041 typedef FdSink_Class CppClassType;
00042 typedef GstFdSink BaseObjectType;
00043 typedef GstFdSinkClass BaseClassType;
00044
00045 private: friend class FdSink_Class;
00046 static CppClassType fdsink_class_;
00047
00048 private:
00049
00050 FdSink(const FdSink&);
00051 FdSink& operator=(const FdSink&);
00052
00053 protected:
00054 explicit FdSink(const Glib::ConstructParams& construct_params);
00055 explicit FdSink(GstFdSink* castitem);
00056
00057 #endif
00058
00059 public:
00060 virtual ~FdSink();
00061
00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00063 static GType get_type() G_GNUC_CONST;
00064 static GType get_base_type() G_GNUC_CONST;
00065 #endif
00066
00068 GstFdSink* gobj() { return reinterpret_cast<GstFdSink*>(gobject_); }
00069
00071 const GstFdSink* gobj() const { return reinterpret_cast<GstFdSink*>(gobject_); }
00072
00074 GstFdSink* gobj_copy();
00075
00076 private:
00077
00078
00079 protected:
00080 FdSink();
00081 FdSink(const Glib::ustring& name);
00082
00083 public:
00087 static Glib::RefPtr<FdSink> create();
00088
00089
00093 static Glib::RefPtr<FdSink> create(const Glib::ustring& name);
00094
00095
00096 #ifdef GLIBMM_PROPERTIES_ENABLED
00097
00103 Glib::PropertyProxy<int> property_fd() ;
00104 #endif //#GLIBMM_PROPERTIES_ENABLED
00105
00106 #ifdef GLIBMM_PROPERTIES_ENABLED
00107
00113 Glib::PropertyProxy_ReadOnly<int> property_fd() const;
00114 #endif //#GLIBMM_PROPERTIES_ENABLED
00115
00116
00117 public:
00118
00119 public:
00120
00121 #ifdef GLIBMM_VFUNCS_ENABLED
00122 #endif //GLIBMM_VFUNCS_ENABLED
00123
00124 protected:
00125
00126 #ifdef GLIBMM_VFUNCS_ENABLED
00127 #endif //GLIBMM_VFUNCS_ENABLED
00128
00129
00130 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00131 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00132
00133
00134 };
00135
00136 }
00137
00138
00139 namespace Glib
00140 {
00149 Glib::RefPtr<Gst::FdSink> wrap(GstFdSink* object, bool take_copy = false);
00150 }
00151
00152
00153 #endif
00154