00001
00002
00003 #ifndef _GSTREAMERMM_TUNERCHANNEL_H
00004 #define _GSTREAMERMM_TUNERCHANNEL_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 <glibmm/object.h>
00029
00030
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 typedef struct _GstTunerChannel GstTunerChannel;
00033 typedef struct _GstTunerChannelClass GstTunerChannelClass;
00034 #endif
00035
00036
00037 namespace Gst
00038 { class TunerChannel_Class; }
00039 namespace Gst
00040 {
00041
00055 enum TunerChannelFlags
00056 {
00057 TUNER_CHANNEL_INPUT = 1<<0,
00058 TUNER_CHANNEL_OUTPUT = 1<<1,
00059 TUNER_CHANNEL_FREQUENCY = 1<<2,
00060 TUNER_CHANNEL_AUDIO = 1<<3
00061 };
00062
00064 inline TunerChannelFlags operator|(TunerChannelFlags lhs, TunerChannelFlags rhs)
00065 { return static_cast<TunerChannelFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
00066
00068 inline TunerChannelFlags operator&(TunerChannelFlags lhs, TunerChannelFlags rhs)
00069 { return static_cast<TunerChannelFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
00070
00072 inline TunerChannelFlags operator^(TunerChannelFlags lhs, TunerChannelFlags rhs)
00073 { return static_cast<TunerChannelFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
00074
00076 inline TunerChannelFlags operator~(TunerChannelFlags flags)
00077 { return static_cast<TunerChannelFlags>(~static_cast<unsigned>(flags)); }
00078
00080 inline TunerChannelFlags& operator|=(TunerChannelFlags& lhs, TunerChannelFlags rhs)
00081 { return (lhs = static_cast<TunerChannelFlags>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
00082
00084 inline TunerChannelFlags& operator&=(TunerChannelFlags& lhs, TunerChannelFlags rhs)
00085 { return (lhs = static_cast<TunerChannelFlags>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
00086
00088 inline TunerChannelFlags& operator^=(TunerChannelFlags& lhs, TunerChannelFlags rhs)
00089 { return (lhs = static_cast<TunerChannelFlags>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
00090
00091 }
00092
00093
00094 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00095 namespace Glib
00096 {
00097
00098 template <>
00099 class Value<Gst::TunerChannelFlags> : public Glib::Value_Flags<Gst::TunerChannelFlags>
00100 {
00101 public:
00102 static GType value_type() G_GNUC_CONST;
00103 };
00104
00105 }
00106 #endif
00107
00108
00109 namespace Gst
00110 {
00111
00112
00124 class TunerChannel : public Glib::Object
00125 {
00126
00127 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00128
00129 public:
00130 typedef TunerChannel CppObjectType;
00131 typedef TunerChannel_Class CppClassType;
00132 typedef GstTunerChannel BaseObjectType;
00133 typedef GstTunerChannelClass BaseClassType;
00134
00135 private: friend class TunerChannel_Class;
00136 static CppClassType tunerchannel_class_;
00137
00138 private:
00139
00140 TunerChannel(const TunerChannel&);
00141 TunerChannel& operator=(const TunerChannel&);
00142
00143 protected:
00144 explicit TunerChannel(const Glib::ConstructParams& construct_params);
00145 explicit TunerChannel(GstTunerChannel* castitem);
00146
00147 #endif
00148
00149 public:
00150 virtual ~TunerChannel();
00151
00152 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00153 static GType get_type() G_GNUC_CONST;
00154 static GType get_base_type() G_GNUC_CONST;
00155 #endif
00156
00158 GstTunerChannel* gobj() { return reinterpret_cast<GstTunerChannel*>(gobject_); }
00159
00161 const GstTunerChannel* gobj() const { return reinterpret_cast<GstTunerChannel*>(gobject_); }
00162
00164 GstTunerChannel* gobj_copy();
00165
00166 private:
00167
00168
00169 public:
00172 Glib::ustring get_label() const;
00173
00176 TunerChannelFlags get_flags() const;
00177
00180 float get_freq_multiplicator() const;
00181
00184 gulong get_min_frequency() const;
00185
00188 gulong get_max_frequency() const;
00189
00192 int get_min_signal() const;
00193
00196 int get_max_signal() const;
00197
00205 Glib::SignalProxy1< void,gulong > signal_frequency_changed();
00206
00207
00215 Glib::SignalProxy1< void,int > signal_signal_changed();
00216
00217
00218 public:
00219
00220 public:
00221
00222 #ifdef GLIBMM_VFUNCS_ENABLED
00223 #endif //GLIBMM_VFUNCS_ENABLED
00224
00225 protected:
00226
00227 #ifdef GLIBMM_VFUNCS_ENABLED
00228 #endif //GLIBMM_VFUNCS_ENABLED
00229
00230
00231 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00232 virtual void on_frequency_changed(gulong frequency);
00233 virtual void on_signal_changed(int signal);
00234 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00235
00236
00237 };
00238
00239 }
00240
00241
00242 namespace Glib
00243 {
00252 Glib::RefPtr<Gst::TunerChannel> wrap(GstTunerChannel* object, bool take_copy = false);
00253 }
00254
00255
00256 #endif
00257