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


#include <gstreamermm/pushsrc.h>
#include <giomm/socket.h>
#include <gstreamermm/caps.h>
_DEFS(gstreamermm,gst)

namespace Gst
{

/** A Wrapper for the socketsrc 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 SocketSrc
: public Gst::PushSrc
{
  _CLASS_GOBJECT(SocketSrc, GstSocketSrc, GST_SOCKET_SRC_GSTREAMERMM, Gst::PushSrc, GstPushSrc)
  _IS_GSTREAMERMM_PLUGIN
protected:
  SocketSrc();
  explicit SocketSrc(const Glib::ustring& name);

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

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

  _WRAP_PROPERTY("socket", Glib::RefPtr<Gio::Socket>)
  _WRAP_PROPERTY("caps", Glib::RefPtr<Gst::Caps>)
  _WRAP_PROPERTY("send-messages", bool)

  _WRAP_SIGNAL(void connection_closed_by_peer(), "connection-closed-by-peer", no_default_handler)
};

} // namespace Gst
