00001
00002
00003 #ifndef _GSTREAMERMM_TUNER_H
00004 #define _GSTREAMERMM_TUNER_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/tuner.h>
00029 #include <glibmm/interface.h>
00030
00031
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _GstTuner GstTuner;
00034 typedef struct _GstTunerClass GstTunerClass;
00035 #endif
00036
00037
00038 namespace Gst
00039 { class Tuner_Class; }
00040 namespace Gst
00041 {
00042
00043 class TunerChannel;
00044 class TunerNorm;
00045
00050 class Tuner : public Glib::Interface
00051 {
00052
00053 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00054
00055 public:
00056 typedef Tuner CppObjectType;
00057 typedef Tuner_Class CppClassType;
00058 typedef GstTuner BaseObjectType;
00059 typedef GstTunerClass BaseClassType;
00060
00061 private:
00062 friend class Tuner_Class;
00063 static CppClassType tuner_class_;
00064
00065
00066 Tuner(const Tuner&);
00067 Tuner& operator=(const Tuner&);
00068
00069 protected:
00070 Tuner();
00071
00078 explicit Tuner(const Glib::Interface_Class& interface_class);
00079
00080 public:
00081
00082
00083
00084 explicit Tuner(GstTuner* castitem);
00085
00086 protected:
00087 #endif
00088
00089 public:
00090 virtual ~Tuner();
00091
00092 static void add_interface(GType gtype_implementer);
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 GstTuner* gobj() { return reinterpret_cast<GstTuner*>(gobject_); }
00101
00103 const GstTuner* gobj() const { return reinterpret_cast<GstTuner*>(gobject_); }
00104
00105 private:
00106
00107
00108 public:
00109
00110
00116 Glib::ListHandle< Glib::RefPtr<Gst::TunerChannel> > list_channels();
00117
00118
00124 Glib::ListHandle< Glib::RefPtr<const Gst::TunerChannel> > list_channels() const;
00125
00126
00130 Glib::RefPtr<Gst::TunerChannel> get_channel();
00131
00135 Glib::RefPtr<const Gst::TunerChannel> get_channel() const;
00136
00140 void set_channel(const Glib::RefPtr<Gst::TunerChannel>& channel);
00141
00142
00149 Glib::ListHandle< Glib::RefPtr<Gst::TunerNorm> > list_norms();
00150
00151
00158 Glib::ListHandle< Glib::RefPtr<const Gst::TunerNorm> > list_norms() const;
00159
00160
00165 Glib::RefPtr<Gst::TunerNorm> get_norm();
00166
00171 Glib::RefPtr<const Gst::TunerNorm> get_norm() const;
00172
00176 void set_norm(const Glib::RefPtr<Gst::TunerNorm>& norm);
00177
00184 gulong get_frequency(const Glib::RefPtr<const Gst::TunerChannel>& channel) const;
00185
00198 void set_frequency(const Glib::RefPtr<Gst::TunerChannel>& channel, gulong frequency);
00199
00211 int get_signal_strength(const Glib::RefPtr<Gst::TunerChannel>& channel);
00212
00218 Glib::RefPtr<Gst::TunerNorm> find_norm(const Glib::ustring& norm);
00219
00225 Glib::RefPtr<const Gst::TunerNorm> find_norm(const Glib::ustring& norm) const;
00226
00232 Glib::RefPtr<Gst::TunerChannel> find_channel(const Glib::ustring& channel);
00233
00239 Glib::RefPtr<const Gst::TunerChannel> find_channel(const Glib::ustring& channel) const;
00240
00245 void channel_changed(const Glib::RefPtr<Gst::TunerChannel>& channel);
00246
00251 void norm_changed(const Glib::RefPtr<Gst::TunerNorm>& norm);
00252
00260 void frequency_changed(const Glib::RefPtr<Gst::TunerChannel>& channel, gulong frequency);
00261
00269 void signal_changed(const Glib::RefPtr<Gst::TunerChannel>& channel, int signal);
00270
00271
00279 Glib::SignalProxy1< void,const Glib::RefPtr<Gst::TunerChannel>& > signal_channel_changed();
00280
00281
00290 Glib::SignalProxy2< void,const Glib::RefPtr<Gst::TunerChannel>&,gulong > signal_frequency_changed();
00291
00292
00300 Glib::SignalProxy1< void,const Glib::RefPtr<Gst::TunerNorm>& > signal_norm_changed();
00301
00302
00311 Glib::SignalProxy2< void,const Glib::RefPtr<Gst::TunerChannel>&,int > signal_signal_changed();
00312
00313
00314 #ifdef GLIBMM_VFUNCS_ENABLED
00315 virtual Glib::ListHandle< Glib::RefPtr<Gst::TunerChannel> > list_channels_vfunc() const;
00316 #endif //GLIBMM_VFUNCS_ENABLED
00317
00318 #ifdef GLIBMM_VFUNCS_ENABLED
00319 virtual void set_channel_vfunc(const Glib::RefPtr<Gst::TunerChannel>& channel);
00320 #endif //GLIBMM_VFUNCS_ENABLED
00321
00322 #ifdef GLIBMM_VFUNCS_ENABLED
00323 virtual Glib::RefPtr<Gst::TunerChannel> get_channel_vfunc() const;
00324 #endif //GLIBMM_VFUNCS_ENABLED
00325
00326
00327 #ifdef GLIBMM_VFUNCS_ENABLED
00328 virtual Glib::ListHandle< Glib::RefPtr<Gst::TunerNorm> > list_norms_vfunc() const;
00329 #endif //GLIBMM_VFUNCS_ENABLED
00330
00331 #ifdef GLIBMM_VFUNCS_ENABLED
00332 virtual void set_norm_vfunc(const Glib::RefPtr<Gst::TunerNorm>& norm);
00333 #endif //GLIBMM_VFUNCS_ENABLED
00334
00335 #ifdef GLIBMM_VFUNCS_ENABLED
00336 virtual Glib::RefPtr<Gst::TunerNorm> get_norm_vfunc() const;
00337 #endif //GLIBMM_VFUNCS_ENABLED
00338
00339 #ifdef GLIBMM_VFUNCS_ENABLED
00340 virtual void set_frequency_vfunc(const Glib::RefPtr<Gst::TunerChannel>& channel, gulong frequency);
00341 #endif //GLIBMM_VFUNCS_ENABLED
00342
00343 #ifdef GLIBMM_VFUNCS_ENABLED
00344 virtual gulong get_frequency_vfunc(const Glib::RefPtr<Gst::TunerChannel>& channel) const;
00345 #endif //GLIBMM_VFUNCS_ENABLED
00346
00347 #ifdef GLIBMM_VFUNCS_ENABLED
00348 virtual int signal_strength_vfunc(const Glib::RefPtr<Gst::TunerChannel>& channel) const;
00349 #endif //GLIBMM_VFUNCS_ENABLED
00350
00351
00352 protected:
00353
00354
00355 public:
00356
00357 public:
00358
00359 #ifdef GLIBMM_VFUNCS_ENABLED
00360 #endif //GLIBMM_VFUNCS_ENABLED
00361
00362 protected:
00363
00364 #ifdef GLIBMM_VFUNCS_ENABLED
00365 #endif //GLIBMM_VFUNCS_ENABLED
00366
00367
00368 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00369 virtual void on_channel_changed(const Glib::RefPtr<Gst::TunerChannel>& channel);
00370 virtual void on_frequency_changed(const Glib::RefPtr<Gst::TunerChannel>& channel, gulong frequency);
00371 virtual void on_norm_changed(const Glib::RefPtr<Gst::TunerNorm>& norm);
00372 virtual void on_signal_changed(const Glib::RefPtr<Gst::TunerChannel>& channel, int signal);
00373 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00374
00375
00376 };
00377
00378 }
00379
00380
00381 namespace Glib
00382 {
00391 Glib::RefPtr<Gst::Tuner> wrap(GstTuner* object, bool take_copy = false);
00392
00393 }
00394
00395
00396 #endif
00397