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


#include <gstreamermm/basesink.h>
#include <gstreamermm/buffer.h>
#include <gstreamermm/pad.h>
_DEFS(gstreamermm,gst)

namespace Gst
{

_WRAP_ENUM(FakeSinkStateError,GstFakeSinkStateError)
_CONV_ENUM(Gst,FakeSinkStateError)

/** A Wrapper for the fakesink plugin.
 * Please note that, though using the underlying GObject is fine, using its C
 * <B>type</B> is not guaranteed to be API stable across releases because it is
 * not guaranteed to always remain the same.  Also, 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
 */
class FakeSink
: public Gst::BaseSink
{
  _CLASS_GOBJECT(FakeSink, GstFakeSink, GST_FAKE_SINK_GSTREAMERMM, Gst::BaseSink, GstBaseSink)
  _IS_GSTREAMERMM_PLUGIN

protected:
  FakeSink();
  explicit FakeSink(const Glib::ustring& name);

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

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

  _WRAP_PROPERTY("state-error", Gst::FakeSinkStateError)
  _WRAP_PROPERTY("silent", bool)
  _WRAP_PROPERTY("dump", bool)
  _WRAP_PROPERTY("signal-handoffs", bool)
  _WRAP_PROPERTY("last-message", Glib::ustring)
  _WRAP_PROPERTY("can-activate-push", bool)
  _WRAP_PROPERTY("can-activate-pull", bool)
  _WRAP_PROPERTY("num-buffers", int)

#m4 _CONVERSION(`GstBuffer*', `const Glib::RefPtr<Gst::Buffer>&', `Gst::wrap($3, true)')
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(void handoff(const Glib::RefPtr<Gst::Buffer>& arg0, const Glib::RefPtr<Gst::Pad>& arg1), "handoff", no_default_handler)
#m4 _CONVERSION(`GstBuffer*', `const Glib::RefPtr<Gst::Buffer>&', `Gst::wrap($3, true)')
#m4 _CONVERSION(`GstPad*', `const Glib::RefPtr<Gst::Pad>&', `Glib::wrap($3, true)')
  _WRAP_SIGNAL(void preroll_handoff(const Glib::RefPtr<Gst::Buffer>& arg0, const Glib::RefPtr<Gst::Pad>& arg1), "preroll-handoff", no_default_handler)
};

} // namespace Gst
