gstreamermm: childproxy.h Source File

- Main Page
- Modules
- Namespaces
- Classes
- Files

# 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 /* 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/gstchildproxy.h>
    00029 #include <glibmm/interface.h>
    00030 #include <gstreamermm/object.h>
    00031
    00032
    00033 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00034 typedef struct _GstChildProxy GstChildProxy;
    00035 typedef struct _GstChildProxyClass GstChildProxyClass;
    00036 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00037
    00038
    00039 namespace Gst
    00040 { class ChildProxy_Class; } // namespace Gst
    00041 namespace Gst
    00042 {
    00043
    00059 class ChildProxy : public Glib::Interface
    00060 {
    00061
    00062 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00063
    00064 public:
    00065   typedef ChildProxy CppObjectType;
    00066   typedef ChildProxy_Class CppClassType;
    00067   typedef GstChildProxy BaseObjectType;
    00068   typedef GstChildProxyInterface BaseClassType;
    00069
    00070 private:
    00071   friend class ChildProxy_Class;
    00072   static CppClassType childproxy_class_;
    00073
    00074   // noncopyable
    00075   ChildProxy(const ChildProxy&);
    00076   ChildProxy& operator=(const ChildProxy&);
    00077
    00078 protected:
    00079   ChildProxy(); // you must derive from this class
    00080
    00087   explicit ChildProxy(const Glib::Interface_Class& interface_class);
    00088
    00089 public:
    00090   // This is public so that C++ wrapper instances can be
    00091   // created for C instances of unwrapped types.
    00092   // For instance, if an unexpected C type implements the C interface.
    00093   explicit ChildProxy(GstChildProxy* castitem);
    00094
    00095 protected:
    00096 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
    00097
    00098 public:
    00099   virtual ~ChildProxy();
    00100
    00101   static void add_interface(GType gtype_implementer);
    00102
    00103 #ifndef DOXYGEN_SHOULD_SKIP_THIS
    00104   static GType get_type()      G_GNUC_CONST;
    00105   static GType get_base_type() G_GNUC_CONST;
    00106 #endif
    00107
    00109   GstChildProxy*       gobj()       { return reinterpret_cast<GstChildProxy*>(gobject_); }
    00110
    00112   const GstChildProxy* gobj() const { return reinterpret_cast<GstChildProxy*>(gobject_); }
    00113
    00114 private:
    00115
    00116
    00117 public:
    00118
    00124   guint get_children_count() const;
    00125
    00134   Glib::RefPtr<Gst::Object> get_child(const Glib::ustring& name);
    00135
    00144   Glib::RefPtr<const Gst::Object> get_child(const Glib::ustring& name) const;
    00145
    00146
    00154   Glib::RefPtr<Gst::Object> get_child(guint index);
    00155
    00163   Glib::RefPtr<const Gst::Object> get_child(guint index) const;
    00164
    00165   //TODO: should gst_child_proxy_lookup() be wrapped?
    00166
    00173   Glib::RefPtr<Gst::ChildProxy> get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value);
    00174
    00175
    00182   Glib::RefPtr<const Gst::ChildProxy> get_proxy_property(const Glib::ustring& name, Glib::ValueBase& value) const;
    00183
    00184
    00190   Glib::RefPtr<Gst::ChildProxy> set_proxy_property(const Glib::ustring& name, const Glib::ValueBase& value);
    00191
    00192
    00196   void child_added(const Glib::RefPtr<Gst::Object>& child);
    00197
    00198
    00202   void child_removed(const Glib::RefPtr<Gst::Object>& child);
    00203
    00204
    00211   Glib::SignalProxy1< void,const Glib::RefPtr<Gst::Object>& > signal_child_added();
    00212
    00213
    00220   Glib::SignalProxy1< void,const Glib::RefPtr<Gst::Object>& > signal_child_removed();
    00221
    00222
    00225   #ifdef GLIBMM_VFUNCS_ENABLED
    00226   virtual Glib::RefPtr<Gst::Object> get_child_by_index_vfunc(guint index) const;
    00227 #endif //GLIBMM_VFUNCS_ENABLED
    00228
    00229
    00232   #ifdef GLIBMM_VFUNCS_ENABLED
    00233   virtual guint get_children_count_vfunc() const;
    00234 #endif //GLIBMM_VFUNCS_ENABLED
    00235
    00236
    00237 public:
    00238
    00239 public:
    00240   //C++ methods used to invoke GTK+ virtual functions:
    00241 #ifdef GLIBMM_VFUNCS_ENABLED
    00242 #endif //GLIBMM_VFUNCS_ENABLED
    00243
    00244 protected:
    00245   //GTK+ Virtual Functions (override these to change behaviour):
    00246 #ifdef GLIBMM_VFUNCS_ENABLED
    00247 #endif //GLIBMM_VFUNCS_ENABLED
    00248
    00249   //Default Signal Handlers::
    00250 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00251   virtual void on_child_added(const Glib::RefPtr<Gst::Object>& object);
    00252   virtual void on_child_removed(const Glib::RefPtr<Gst::Object>& object);
    00253 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
    00254
    00255
    00256 };
    00257
    00258 } // namespace Gst
    00259
    00260
    00261 namespace Glib
    00262 {
    00271   Glib::RefPtr<Gst::ChildProxy> wrap(GstChildProxy* object, bool take_copy = false);
    00272
    00273 } // namespace Glib
    00274
    00275
    00276 #endif /* _GSTREAMERMM_CHILDPROXY_H */
    00277