00001
00002
00003 #ifndef _GSTREAMERMM_ALSASRC_H
00004 #define _GSTREAMERMM_ALSASRC_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 <gstreamermm/audiosrc.h>
00031 #include <gstreamermm/interface.h>
00032 #include <gstreamermm/mixer.h>
00033 #include <gstreamermm/propertyprobe.h>
00034
00035
00036 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00037 typedef struct _GstAlsaSrc GstAlsaSrc;
00038 typedef struct _GstAlsaSrcClass GstAlsaSrcClass;
00039 #endif
00040
00041
00042 namespace Gst
00043 { class AlsaSrc_Class; }
00044 namespace Gst
00045 {
00046
00057 class AlsaSrc
00058 : public Gst::AudioSrc, public Gst::Interface, public Gst::Mixer, public Gst::PropertyProbe
00059 {
00060
00061 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00062
00063 public:
00064 typedef AlsaSrc CppObjectType;
00065 typedef AlsaSrc_Class CppClassType;
00066 typedef GstAlsaSrc BaseObjectType;
00067 typedef GstAlsaSrcClass BaseClassType;
00068
00069 private: friend class AlsaSrc_Class;
00070 static CppClassType alsasrc_class_;
00071
00072 private:
00073
00074 AlsaSrc(const AlsaSrc&);
00075 AlsaSrc& operator=(const AlsaSrc&);
00076
00077 protected:
00078 explicit AlsaSrc(const Glib::ConstructParams& construct_params);
00079 explicit AlsaSrc(GstAlsaSrc* castitem);
00080
00081 #endif
00082
00083 public:
00084 virtual ~AlsaSrc();
00085
00086 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00087 static GType get_type() G_GNUC_CONST;
00088
00089
00090 static GType get_base_type() G_GNUC_CONST;
00091 #endif
00092
00094 GstAlsaSrc* gobj() { return reinterpret_cast<GstAlsaSrc*>(gobject_); }
00095
00097 const GstAlsaSrc* gobj() const { return reinterpret_cast<GstAlsaSrc*>(gobject_); }
00098
00100 GstAlsaSrc* gobj_copy();
00101
00102 private:
00103
00104
00105 protected:
00106 AlsaSrc();
00107 AlsaSrc(const Glib::ustring& name);
00108
00109 public:
00113 static Glib::RefPtr<AlsaSrc> create();
00114
00115
00119 static Glib::RefPtr<AlsaSrc> create(const Glib::ustring& name);
00120
00121
00122 #ifdef GLIBMM_PROPERTIES_ENABLED
00123
00129 Glib::PropertyProxy<Glib::ustring> property_device() ;
00130 #endif //#GLIBMM_PROPERTIES_ENABLED
00131
00132 #ifdef GLIBMM_PROPERTIES_ENABLED
00133
00139 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_device() const;
00140 #endif //#GLIBMM_PROPERTIES_ENABLED
00141
00142 #ifdef GLIBMM_PROPERTIES_ENABLED
00143
00149 Glib::PropertyProxy_ReadOnly<Glib::ustring> property_device_name() const;
00150 #endif //#GLIBMM_PROPERTIES_ENABLED
00151
00152
00153 public:
00154
00155 public:
00156
00157 #ifdef GLIBMM_VFUNCS_ENABLED
00158 #endif //GLIBMM_VFUNCS_ENABLED
00159
00160 protected:
00161
00162 #ifdef GLIBMM_VFUNCS_ENABLED
00163 #endif //GLIBMM_VFUNCS_ENABLED
00164
00165
00166 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00167 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00168
00169
00170 };
00171
00172 }
00173
00174
00175 namespace Glib
00176 {
00185 Glib::RefPtr<Gst::AlsaSrc> wrap(GstAlsaSrc* object, bool take_copy = false);
00186 }
00187
00188
00189 #endif
00190