// This file was generated by the Gtk# code generator.
// Any changes made will be lost if regenerated.

namespace Gst.PbUtils {

	using System;
	using System.Collections;
	using System.Collections.Generic;
	using System.Runtime.InteropServices;

#region Autogenerated code
	public partial class DiscovererStreamInfo : GLib.Object {

		public DiscovererStreamInfo (IntPtr raw) : base(raw) {}

		protected DiscovererStreamInfo() : base(IntPtr.Zero)
		{
			CreateNativeObject (new string [0], new GLib.Value [0]);
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_type();

		public static new GLib.GType GType { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_type();
				GLib.GType ret = new GLib.GType(raw_ret);
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern void gst_discoverer_stream_info_list_free(IntPtr infos);

		public static void ListFree(GLib.List infos) {
			gst_discoverer_stream_info_list_free(infos == null ? IntPtr.Zero : infos.Handle);
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_caps(IntPtr raw);

		public Gst.Caps Caps { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_caps(Handle);
				Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true);
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_misc(IntPtr raw);

		[Obsolete]
		public Gst.Structure Misc { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_misc(Handle);
				Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), false);
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_next(IntPtr raw);

		public Gst.PbUtils.DiscovererStreamInfo Next { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_next(Handle);
				Gst.PbUtils.DiscovererStreamInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererStreamInfo;
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_previous(IntPtr raw);

		public Gst.PbUtils.DiscovererStreamInfo Previous { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_previous(Handle);
				Gst.PbUtils.DiscovererStreamInfo ret = GLib.Object.GetObject(raw_ret, true) as Gst.PbUtils.DiscovererStreamInfo;
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_stream_id(IntPtr raw);

		public string StreamId { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_stream_id(Handle);
				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_stream_type_nick(IntPtr raw);

		public string StreamTypeNick { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_stream_type_nick(Handle);
				string ret = GLib.Marshaller.Utf8PtrToString (raw_ret);
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_tags(IntPtr raw);

		public Gst.TagList Tags { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_tags(Handle);
				Gst.TagList ret = raw_ret == IntPtr.Zero ? null : (Gst.TagList) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.TagList), false);
				return ret;
			}
		}

		[DllImport("libgstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
		static extern IntPtr gst_discoverer_stream_info_get_toc(IntPtr raw);

		public Gst.Toc Toc { 
			get {
				IntPtr raw_ret = gst_discoverer_stream_info_get_toc(Handle);
				Gst.Toc ret = Gst.Toc.New (raw_ret);
				return ret;
			}
		}


		static DiscovererStreamInfo ()
		{
			GtkSharp.GstreamerSharp.ObjectManager.Initialize ();
		}
#endregion
	}
}
