bin.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTMM_BIN_H
00004 #define _GSTMM_BIN_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 #include <gstreamermm/element.h>
00010 #include <gstreamermm/enums.h>
00011 
00012 
00013 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00014 typedef struct _GstBin GstBin;
00015 typedef struct _GstBinClass GstBinClass;
00016 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00017 
00018 
00019 namespace Gst
00020 { class Bin_Class; } // namespace Gst
00021 namespace Gst
00022 {
00023 
00024 class Pad;
00025 
00026 
00027 class Bin : public Element 
00028 {
00029   
00030 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00031 
00032 public:
00033   typedef Bin CppObjectType;
00034   typedef Bin_Class CppClassType;
00035   typedef GstBin BaseObjectType;
00036   typedef GstBinClass BaseClassType;
00037 
00038 private:  friend class Bin_Class;
00039   static CppClassType bin_class_;
00040 
00041 private:
00042   // noncopyable
00043   Bin(const Bin&);
00044   Bin& operator=(const Bin&);
00045 
00046 protected:
00047   explicit Bin(const Glib::ConstructParams& construct_params);
00048   explicit Bin(GstBin* castitem);
00049 
00050 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00051 
00052 public:
00053   virtual ~Bin();
00054 
00055 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00056   static GType get_type()      G_GNUC_CONST;
00057   static GType get_base_type() G_GNUC_CONST;
00058 #endif
00059 
00061   GstBin*       gobj()       { return reinterpret_cast<GstBin*>(gobject_); }
00062 
00064   const GstBin* gobj() const { return reinterpret_cast<GstBin*>(gobject_); }
00065 
00067   GstBin* gobj_copy();
00068 
00069 private:
00070 
00071 
00072 protected:
00073   Bin();
00074 
00075 public:
00076   //TODO: Why doesn't this use _WRAP_CREATE()?
00077   static Glib::RefPtr<Bin> create(const Glib::ustring& name);
00078 
00079   //TODO: Why do these throw exceptions?
00080   //If there is a good reason for it, document that in comments and doxygen documentation. murrayc.
00081   Glib::RefPtr<Bin> add(const Glib::RefPtr<Element>& element);
00082   Glib::RefPtr<Bin> remove(const Glib::RefPtr<Element>& element);
00083 
00084   Glib::RefPtr<Element> get_by_name(const Glib::ustring& element_name);
00085   Glib::RefPtr<Element> get_by_name_recurse_up(const Glib::ustring& element_name);
00086   
00087   Glib::RefPtr<Element> get_by_interface(GType interface);
00088 
00089   Glib::RefPtr<Pad> find_unconnected_pad(PadDirection direction);
00090 
00091   
00092   //TODO: When wrap() works: _WRAP_SIGNAL(void element_added(const Glib::RefPtr<Element>& element), "element-added")
00093   //TODO: When wrap() works: _WRAP_SIGNAL(void element_removed(const Glib::RefPtr<Element>& element), "element-removed")
00094 
00095 
00096 public:
00097 
00098 public:
00099   //C++ methods used to invoke GTK+ virtual functions:
00100 #ifdef GLIBMM_VFUNCS_ENABLED
00101 #endif //GLIBMM_VFUNCS_ENABLED
00102 
00103 protected:
00104   //GTK+ Virtual Functions (override these to change behaviour):
00105 #ifdef GLIBMM_VFUNCS_ENABLED
00106 #endif //GLIBMM_VFUNCS_ENABLED
00107 
00108   //Default Signal Handlers::
00109 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00110 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00111 
00112 
00113 };
00114 
00115 } //namespace Gst
00116 
00117 
00118 namespace Glib
00119 {
00128   Glib::RefPtr<Gst::Bin> wrap(GstBin* object, bool take_copy = false);
00129 }
00130 
00131 
00132 #endif /* _GSTMM_BIN_H */
00133 

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