// This file was generated by the Gtk# code generator. // Any changes made will be lost if regenerated. namespace Gst.Base { using System; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; #region Autogenerated code public partial class AggregatorPad : Gst.Pad { public AggregatorPad (IntPtr raw) : base(raw) {} protected AggregatorPad() : base(IntPtr.Zero) { CreateNativeObject (new string [0], new GLib.Value [0]); } public Gst.Segment Segment { get { unsafe { IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("segment")); return Gst.Segment.New ((*raw_ptr)); } } } static FlushNativeDelegate Flush_cb_delegate; static FlushNativeDelegate FlushVMCallback { get { if (Flush_cb_delegate == null) Flush_cb_delegate = new FlushNativeDelegate (Flush_cb); return Flush_cb_delegate; } } static void OverrideFlush (GLib.GType gtype) { OverrideFlush (gtype, FlushVMCallback); } static void OverrideFlush (GLib.GType gtype, FlushNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("flush")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate int FlushNativeDelegate (IntPtr inst, IntPtr aggregator); static int Flush_cb (IntPtr inst, IntPtr aggregator) { try { AggregatorPad __obj = GLib.Object.GetObject (inst, false) as AggregatorPad; Gst.FlowReturn __result; __result = __obj.OnFlush (GLib.Object.GetObject(aggregator) as Gst.Base.Aggregator); return (int) __result; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.AggregatorPad), ConnectionMethod="OverrideFlush")] protected virtual Gst.FlowReturn OnFlush (Gst.Base.Aggregator aggregator) { return InternalFlush (aggregator); } private Gst.FlowReturn InternalFlush (Gst.Base.Aggregator aggregator) { FlushNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("flush")); unmanaged = (FlushNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(FlushNativeDelegate)); } if (unmanaged == null) return (Gst.FlowReturn) 0; int __result = unmanaged (this.Handle, aggregator == null ? IntPtr.Zero : aggregator.Handle); return (Gst.FlowReturn) __result; } static SkipBufferNativeDelegate SkipBuffer_cb_delegate; static SkipBufferNativeDelegate SkipBufferVMCallback { get { if (SkipBuffer_cb_delegate == null) SkipBuffer_cb_delegate = new SkipBufferNativeDelegate (SkipBuffer_cb); return SkipBuffer_cb_delegate; } } static void OverrideSkipBuffer (GLib.GType gtype) { OverrideSkipBuffer (gtype, SkipBufferVMCallback); } static void OverrideSkipBuffer (GLib.GType gtype, SkipBufferNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("skip_buffer")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate bool SkipBufferNativeDelegate (IntPtr inst, IntPtr aggregator, IntPtr buffer); static bool SkipBuffer_cb (IntPtr inst, IntPtr aggregator, IntPtr buffer) { try { AggregatorPad __obj = GLib.Object.GetObject (inst, false) as AggregatorPad; bool __result; __result = __obj.OnSkipBuffer (GLib.Object.GetObject(aggregator) as Gst.Base.Aggregator, buffer == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (buffer, typeof (Gst.Buffer), false)); return __result; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.AggregatorPad), ConnectionMethod="OverrideSkipBuffer")] protected virtual bool OnSkipBuffer (Gst.Base.Aggregator aggregator, Gst.Buffer buffer) { return InternalSkipBuffer (aggregator, buffer); } private bool InternalSkipBuffer (Gst.Base.Aggregator aggregator, Gst.Buffer buffer) { SkipBufferNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("skip_buffer")); unmanaged = (SkipBufferNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SkipBufferNativeDelegate)); } if (unmanaged == null) return false; bool __result = unmanaged (this.Handle, aggregator == null ? IntPtr.Zero : aggregator.Handle, buffer == null ? IntPtr.Zero : buffer.Handle); return __result; } // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _class_abi = null; static public new GLib.AbiStruct class_abi { get { if (_class_abi == null) _class_abi = new GLib.AbiStruct (new List{ new GLib.AbiField("flush" , Gst.Pad.class_abi.Fields , (uint) Marshal.SizeOf(typeof(IntPtr)) // flush , null , "skip_buffer" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("skip_buffer" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // skip_buffer , "flush" , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved , "skip_buffer" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), }); return _class_abi; } } // End of the ABI representation. [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_aggregator_pad_get_type(); public static new GLib.GType GType { get { IntPtr raw_ret = gst_aggregator_pad_get_type(); GLib.GType ret = new GLib.GType(raw_ret); return ret; } } [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_aggregator_pad_drop_buffer(IntPtr raw); public bool DropBuffer() { bool raw_ret = gst_aggregator_pad_drop_buffer(Handle); bool ret = raw_ret; return ret; } [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_aggregator_pad_is_eos(IntPtr raw); public bool IsEos { get { bool raw_ret = gst_aggregator_pad_is_eos(Handle); bool ret = raw_ret; return ret; } } [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_aggregator_pad_peek_buffer(IntPtr raw); public Gst.Buffer PeekBuffer() { IntPtr raw_ret = gst_aggregator_pad_peek_buffer(Handle); Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true); return ret; } [DllImport("libgstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_aggregator_pad_pop_buffer(IntPtr raw); public Gst.Buffer PopBuffer() { IntPtr raw_ret = gst_aggregator_pad_pop_buffer(Handle); Gst.Buffer ret = raw_ret == IntPtr.Zero ? null : (Gst.Buffer) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Buffer), true); return ret; } static AggregatorPad () { GtkSharp.GstreamerSharp.ObjectManager.Initialize (); } // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; static public new GLib.AbiStruct abi_info { get { if (_abi_info == null) _abi_info = new GLib.AbiStruct (new List{ new GLib.AbiField("segment" , Gst.Pad.abi_info.Fields , (uint) Marshal.SizeOf(typeof(Gst.Segment)) // segment , null , "priv" , (long) Marshal.OffsetOf(typeof(GstAggregatorPad_segmentAlign), "segment") , 0 ), new GLib.AbiField("priv" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // priv , "segment" , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved , "priv" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), }); return _abi_info; } } [StructLayout(LayoutKind.Sequential)] public struct GstAggregatorPad_segmentAlign { sbyte f1; private Gst.Segment segment; } // End of the ABI representation. #endregion } }