bus.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTMM_BUS_H
00004 #define _GSTMM_BUS_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 #include <gstreamermm/object.h>
00010 #include <gstreamermm/clock.h>
00011 #include <gstreamermm/enums.h>
00012 
00013 
00014 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00015 typedef struct _GstBus GstBus;
00016 typedef struct _GstBusClass GstBusClass;
00017 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00018 
00019 
00020 namespace Gst
00021 { class Bus_Class; } // namespace Gst
00022 namespace Gst
00023 {
00024 
00025 class Message;
00026 
00027 
00028 class Bus : public Object
00029 {
00030   
00031 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00032 
00033 public:
00034   typedef Bus CppObjectType;
00035   typedef Bus_Class CppClassType;
00036   typedef GstBus BaseObjectType;
00037   typedef GstBusClass BaseClassType;
00038 
00039 private:  friend class Bus_Class;
00040   static CppClassType bus_class_;
00041 
00042 private:
00043   // noncopyable
00044   Bus(const Bus&);
00045   Bus& operator=(const Bus&);
00046 
00047 protected:
00048   explicit Bus(const Glib::ConstructParams& construct_params);
00049   explicit Bus(GstBus* castitem);
00050 
00051 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00052 
00053 public:
00054   virtual ~Bus();
00055 
00056 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00057   static GType get_type()      G_GNUC_CONST;
00058   static GType get_base_type() G_GNUC_CONST;
00059 #endif
00060 
00062   GstBus*       gobj()       { return reinterpret_cast<GstBus*>(gobject_); }
00063 
00065   const GstBus* gobj() const { return reinterpret_cast<GstBus*>(gobject_); }
00066 
00068   GstBus* gobj_copy();
00069 
00070 private:
00071 
00072 
00073 protected:
00074   Bus();
00075 
00076 public:
00077   static Glib::RefPtr<Bus> create();
00078   
00079   bool post(const Glib::RefPtr<Message>& message);
00080   
00081   bool have_pending() const;
00082 
00083   
00084   Glib::RefPtr<Message> peek();
00085   
00086   Glib::RefPtr<const Message> peek() const;
00087 
00088   
00089   Glib::RefPtr<Message> pop();
00090   
00091   Glib::RefPtr<Message> timed_pop(ClockTime timeout);
00092 
00093   
00094   void set_flushing(bool flushing = true);
00095 
00099   typedef sigc::slot<bool, const Glib::RefPtr<Bus>&, const Glib::RefPtr<Message>& > SlotWatch;
00100   guint add_watch(const SlotWatch& slot, int priority = G_PRIORITY_DEFAULT);
00101   bool remove_watch(guint watch_id);
00102   
00103 
00104   void disable_sync_message_emission();
00105   
00106   void enable_sync_message_emission();
00107 
00108   
00109   void add_signal_watch(int priority = G_PRIORITY_DEFAULT);
00110   
00111   void remove_signal_watch();
00112   
00113 
00119   Glib::SignalProxy1< void,const Glib::RefPtr<Message>& > signal_message();
00120 
00121   
00127   Glib::SignalProxy1< void,const Glib::RefPtr<Message>& > signal_sync_message();
00128 
00129 
00130 public:
00131 
00132 public:
00133   //C++ methods used to invoke GTK+ virtual functions:
00134 #ifdef GLIBMM_VFUNCS_ENABLED
00135 #endif //GLIBMM_VFUNCS_ENABLED
00136 
00137 protected:
00138   //GTK+ Virtual Functions (override these to change behaviour):
00139 #ifdef GLIBMM_VFUNCS_ENABLED
00140 #endif //GLIBMM_VFUNCS_ENABLED
00141 
00142   //Default Signal Handlers::
00143 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00144   virtual void on_message(const Glib::RefPtr<Message>& message);
00145   virtual void on_sync_message(const Glib::RefPtr<Message>& message);
00146 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00147 
00148 
00149 };
00150 
00151 } //namespace Gst
00152 
00153 
00154 namespace Glib
00155 {
00164   Glib::RefPtr<Gst::Bus> wrap(GstBus* object, bool take_copy = false);
00165 }
00166 
00167 
00168 #endif /* _GSTMM_BUS_H */
00169 

Generated on Sat Jan 26 11:53:53 2008 for gstreamermm by  doxygen 1.5.1