tuner.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTREAMERMM_TUNER_H
00004 #define _GSTREAMERMM_TUNER_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* gstreamermm - a C++ wrapper for gstreamer
00010  *
00011  * Copyright 2008 The gstreamermm Development Team
00012  *
00013  * This library is free software; you can redistribute it and/or
00014  * modify it under the terms of the GNU Lesser General Public
00015  * License as published by the Free Software Foundation; either
00016  * version 2.1 of the License, or (at your option) any later version.
00017  *
00018  * This library is distributed in the hope that it will be useful,
00019  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00020  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00021  * Lesser General Public License for more details.
00022  *
00023  * You should have received a copy of the GNU Lesser General Public
00024  * License along with this library; if not, write to the Free
00025  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
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 /* DOXYGEN_SHOULD_SKIP_THIS */
00036 
00037 
00038 namespace Gst
00039 { class Tuner_Class; } // namespace Gst
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   // noncopyable
00066   Tuner(const Tuner&);
00067   Tuner& operator=(const Tuner&);
00068 
00069 protected:
00070   Tuner(); // you must derive from this class
00071 
00078   explicit Tuner(const Glib::Interface_Class& interface_class);
00079 
00080 public:
00081   // This is public so that C++ wrapper instances can be
00082   // created for C instances of unwrapped types.
00083   // For instance, if an unexpected C type implements the C interface. 
00084   explicit Tuner(GstTuner* castitem);
00085 
00086 protected:
00087 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
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   //C++ methods used to invoke GTK+ virtual functions:
00359 #ifdef GLIBMM_VFUNCS_ENABLED
00360 #endif //GLIBMM_VFUNCS_ENABLED
00361 
00362 protected:
00363   //GTK+ Virtual Functions (override these to change behaviour):
00364 #ifdef GLIBMM_VFUNCS_ENABLED
00365 #endif //GLIBMM_VFUNCS_ENABLED
00366 
00367   //Default Signal Handlers::
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 } // namespace Gst
00379 
00380 
00381 namespace Glib
00382 {
00391   Glib::RefPtr<Gst::Tuner> wrap(GstTuner* object, bool take_copy = false);
00392 
00393 } // namespace Glib
00394 
00395 
00396 #endif /* _GSTREAMERMM_TUNER_H */
00397 

Generated on Wed Aug 19 15:53:31 2009 for gstreamermm by  doxygen 1.5.4