childproxy.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _GSTREAMERMM_CHILDPROXY_H
00004 #define _GSTREAMERMM_CHILDPROXY_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 // -*- Mode: C++; indent-tabs-mode: nil; c-basic-offset: 2 -*-
00010 
00011 /* gstreamermm - a C++ wrapper for gstreamer
00012  *
00013  * Copyright 2008 The gstreamermm Development Team
00014  *
00015  * This library is free software; you can redistribute it and/or
00016  * modify it under the terms of the GNU Library General Public
00017  * License as published by the Free Software Foundation; either
00018  * version 2 of the License, or (at your option) any later version.
00019  *
00020  * This library is distributed in the hope that it will be useful,
00021  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00022  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00023  * Library General Public License for more details.
00024  *
00025  * You should have received a copy of the GNU Library General Public
00026  * License along with this library; if not, write to the Free
00027  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00028  */
00029 
00030 #include <gst/gstchildproxy.h>
00031 #include <glibmm/interface.h>
00032 #include <gstreamermm/object.h>
00033 
00034 
00035 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00036 typedef struct _GstChildProxy GstChildProxy;
00037 typedef struct _GstChildProxyClass GstChildProxyClass;
00038 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00039 
00040 
00041 namespace Gst
00042 { class ChildProxy_Class; } // namespace Gst
00043 namespace Gst
00044 {
00045 
00060 class ChildProxy : public Glib::Interface
00061 {
00062   
00063 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00064 
00065 public:
00066   typedef ChildProxy CppObjectType;
00067   typedef ChildProxy_Class CppClassType;
00068   typedef GstChildProxy BaseObjectType;
00069   typedef GstChildProxyInterface BaseClassType;
00070 
00071 private:
00072   friend class ChildProxy_Class;
00073   static CppClassType childproxy_class_;
00074 
00075   // noncopyable
00076   ChildProxy(const ChildProxy&);
00077   ChildProxy& operator=(const ChildProxy&);
00078 
00079 protected:
00080   ChildProxy(); // you must derive from this class
00081 
00088   explicit ChildProxy(const Glib::Interface_Class& interface_class);
00089 
00090 public:
00091   // This is public so that C++ wrapper instances can be
00092   // created for C instances of unwrapped types.
00093   // For instance, if an unexpected C type implements the C interface. 
00094   explicit ChildProxy(GstChildProxy* castitem);
00095 
00096 protected:
00097 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00098 
00099 public:
00100   virtual ~ChildProxy();
00101 
00102   static void add_interface(GType gtype_implementer);
00103 
00104 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00105   static GType get_type()      G_GNUC_CONST;
00106   static GType get_base_type() G_GNUC_CONST;
00107 #endif
00108 
00110   GstChildProxy*       gobj()       { return reinterpret_cast<GstChildProxy*>(gobject_); }
00111 
00113   const GstChildProxy* gobj() const { return reinterpret_cast<GstChildProxy*>(gobject_); }
00114 
00115 private:
00116 
00117 
00118 public:
00119   
00125   guint get_children_count() const;
00126   
00135   Glib::RefPtr<Gst::Object> get_child(const Glib::ustring& name);
00136   
00145   Glib::RefPtr<const Gst::Object> get_child(const Glib::ustring& name) const;
00146 
00147   
00155   Glib::RefPtr<Gst::Object> get_child(guint index);
00156   
00164   Glib::RefPtr<const Gst::Object> get_child(guint index) const;
00165 
00166   //TODO: should gst_child_proxy_lookup() be wrapped?
00167 
00174   Glib::RefPtr<ChildProxy> get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value);
00175 
00176   //This doesn't seem useful: void get_proxy_valist(const Glib::ustring& first_prop_name, va_list& var_args);
00177   
00178 
00184   Glib::RefPtr<ChildProxy> set_proxy_property(const Glib::ustring& name, const Glib::ValueBase& value);
00185 
00186   //This doesn't seem useful: void set_proxy_valist(const Glib::ustring& first_prop_name, const va_list& var_args);
00187   
00188 
00192   void child_added(const Glib::RefPtr<Gst::Object>& child);
00193 
00197   void child_removed(const Glib::RefPtr<Gst::Object>& child);
00198 
00199  
00206   Glib::SignalProxy1< void,const Glib::RefPtr<Gst::Object>& > signal_child_added();
00207 
00208 
00215   Glib::SignalProxy1< void,const Glib::RefPtr<Gst::Object>& > signal_child_removed();
00216 
00217 
00220   #ifdef GLIBMM_VFUNCS_ENABLED
00221   virtual Glib::RefPtr<Gst::Object> get_child_by_index_vfunc(guint index) const;
00222 #endif //GLIBMM_VFUNCS_ENABLED
00223 
00224 
00227   #ifdef GLIBMM_VFUNCS_ENABLED
00228   virtual guint get_children_count_vfunc() const;
00229 #endif //GLIBMM_VFUNCS_ENABLED
00230 
00231 
00232 public:
00233 
00234 public:
00235   //C++ methods used to invoke GTK+ virtual functions:
00236 #ifdef GLIBMM_VFUNCS_ENABLED
00237 #endif //GLIBMM_VFUNCS_ENABLED
00238 
00239 protected:
00240   //GTK+ Virtual Functions (override these to change behaviour):
00241 #ifdef GLIBMM_VFUNCS_ENABLED
00242 #endif //GLIBMM_VFUNCS_ENABLED
00243 
00244   //Default Signal Handlers::
00245 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00246   virtual void on_child_added(const Glib::RefPtr<Gst::Object>& object);
00247   virtual void on_child_removed(const Glib::RefPtr<Gst::Object>& object);
00248 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00249 
00250 
00251 };
00252 
00253 } // namespace Gst
00254 
00255 
00256 namespace Glib
00257 {
00266   Glib::RefPtr<Gst::ChildProxy> wrap(GstChildProxy* object, bool take_copy = false);
00267 
00268 } // namespace Glib
00269 
00270 
00271 #endif /* _GSTREAMERMM_CHILDPROXY_H */
00272 

Generated on Sun Jul 27 17:07:20 2008 for gstreamermm by  doxygen 1.5.4