// -*- c++ -*-
// Generated by gtkmmproc -- DO NOT MODIFY!
#ifndef _GSTREAMERMM_DECODEBIN2_P_H
#define _GSTREAMERMM_DECODEBIN2_P_H


#include <glibmm/class.h>

namespace Gst
{

class DecodeBin2_Class : public Glib::Class
{
public:
#ifndef DOXYGEN_SHOULD_SKIP_THIS
  typedef DecodeBin2 CppObjectType;
  typedef GstDecodeBin2 BaseObjectType;
  typedef GstDecodeBin2Class BaseClassType;
  typedef Gst::Bin_Class CppClassParent;
  typedef GstBinClass BaseClassParent;

  friend class DecodeBin2;
#endif /* DOXYGEN_SHOULD_SKIP_THIS */

  const Glib::Class& init();


  static void class_init_function(void* g_class, void* class_data);

  static Glib::ObjectBase* wrap_new(GObject*);

protected:

  //Callbacks (default signal handlers):
  //These will call the *_impl member methods, which will then call the existing default signal callbacks, if any.
  //You could prevent the original default signal handlers being called by overriding the *_impl method.
  static void new_decoded_pad_callback(GstDecodeBin2* self, GstPad* p0, gboolean p1);
  static void removed_decoded_pad_callback(GstDecodeBin2* self, GstPad* p0);
  static void unknown_type_callback(GstDecodeBin2* self, GstPad* p0, GstCaps* p1);
  static gboolean autoplug_continue_callback(GstDecodeBin2* self, GstPad* p0, GstCaps* p1);
  static GValueArray* autoplug_factories_callback(GstDecodeBin2* self, GstPad* p0, GstCaps* p1);
  static GValueArray* autoplug_sort_callback(GstDecodeBin2* self, GstPad* p0, GstCaps* p1, GValueArray* p2);
  static GstAutoplugSelectResult autoplug_select_callback(GstDecodeBin2* self, GstPad* p0, GstCaps* p1, GstElementFactory* p2);
  static void drained_callback(GstDecodeBin2* self);

  //Callbacks (virtual functions):
};


} // namespace Gst

#include <gstreamermm/private/bin_p.h>


#endif /* _GSTREAMERMM_DECODEBIN2_P_H */

