// Generated by generate_plugin_gmmproc_file. Don't edit this file.


#include <gstreamermm/bin.h>
#include <gstreamermm/element.h>
#include <gstreamermm/caps.h>
#include <gstreamermm/pad.h>
#include <glibmm/valuearray.h>
#include <gstreamermm/enums.h>
#include <gstreamermm/elementfactory.h>
#include <gstreamermm/query.h>
_DEFS(gstreamermm,gst)

// Plug-in C enums used in signals:
namespace Gst
{

/** A Wrapper for the uridecodebin plugin.
 * Please note that not all plug-ins are available on all systems so care
 * must be taken that they exist before they are used otherwise there will
 * be errors and possibly a crash.
 *
 * @ingroup GstPlugins
 * @deprecated Plugins API is deprecated, and should not be used in a new code.
 */
class UriDecodeBin
: public Gst::Bin
{
  _CLASS_GOBJECT(UriDecodeBin, GstURIDecodeBin, GST_URI_DECODE_BIN_GSTREAMERMM, Gst::Bin, GstBin)
  _IS_GSTREAMERMM_PLUGIN
protected:
  UriDecodeBin();
  explicit UriDecodeBin(const Glib::ustring& name);

public:
  /** Creates a new uridecodebin plugin with a unique name.
   */
  _WRAP_CREATE()

  /** Creates a new uridecodebin plugin with the given name.
   */
  _WRAP_CREATE(const Glib::ustring& name)

  _WRAP_PROPERTY("uri", Glib::ustring)
  _WRAP_PROPERTY("source", Glib::RefPtr<Gst::Element>)
  _WRAP_PROPERTY("connection-speed", guint64)
  _WRAP_PROPERTY("caps", Glib::RefPtr<Gst::Caps>)
  _WRAP_PROPERTY("subtitle-encoding", Glib::ustring)
  _WRAP_PROPERTY("buffer-size", int)
  _WRAP_PROPERTY("buffer-duration", gint64)
  _WRAP_PROPERTY("download", bool)
  _WRAP_PROPERTY("use-buffering", bool)
  _WRAP_PROPERTY("expose-all-streams", bool)
  _WRAP_PROPERTY("ring-buffer-max-size", guint64)

#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(void unknown_type(const Glib::RefPtr<Gst::Pad>& arg0, const Glib::RefPtr<Gst::Caps>& arg1), "unknown-type", no_default_handler)
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(bool autoplug_continue(const Glib::RefPtr<Gst::Pad>& arg0, const Glib::RefPtr<Gst::Caps>& arg1), "autoplug-continue", no_default_handler)
#m4 _CONVERSION(`Glib::ValueArray', `GValueArray*', `($3).gobj_copy()')
#m4 _CONVERSION(`GValueArray*', `Glib::ValueArray', `Glib::wrap($3)')
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(Glib::ValueArray autoplug_factories(const Glib::RefPtr<Gst::Pad>& arg0, const Glib::RefPtr<Gst::Caps>& arg1), "autoplug-factories", no_default_handler)
#m4 _CONVERSION(`Glib::ValueArray', `GValueArray*', `($3).gobj_copy()')
#m4 _CONVERSION(`GValueArray*', `Glib::ValueArray', `Glib::wrap($3)')
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GValueArray*', `const Glib::ValueArray&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(Glib::ValueArray autoplug_sort(const Glib::RefPtr<Gst::Pad>& arg0, const Glib::RefPtr<Gst::Caps>& arg1, const Glib::ValueArray& arg2), "autoplug-sort", no_default_handler)
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstCaps*', `const Glib::RefPtr<Gst::Caps>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstElementFactory*', `const Glib::RefPtr<Gst::ElementFactory>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(Gst::AutoplugSelectResult autoplug_select(const Glib::RefPtr<Gst::Pad>& arg0, const Glib::RefPtr<Gst::Caps>& arg1, const Glib::RefPtr<Gst::ElementFactory>& arg2), "autoplug-select", no_default_handler)
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstElement*', `const Glib::RefPtr<Gst::Element>&', `Glib::wrap($3, true)')
#m4 _CONVERSION(`GstQuery*', `const Glib::RefPtr<Gst::Query>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(bool autoplug_query(const Glib::RefPtr<Gst::Pad>& arg0, const Glib::RefPtr<Gst::Element>& arg1, const Glib::RefPtr<Gst::Query>& arg2), "autoplug-query", no_default_handler)
  _WRAP_SIGNAL(void drained(), "drained", no_default_handler)
#m4 _CONVERSION(`GstElement*', `const Glib::RefPtr<Gst::Element>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(void source_setup(const Glib::RefPtr<Gst::Element>& arg0), "source-setup", no_default_handler)
};

} // namespace Gst
