mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-04 23:46:43 +00:00
400 lines
14 KiB
C#
400 lines
14 KiB
C#
|
// This file was generated by the Gtk# code generator.
|
||
|
// Any changes made will be lost if regenerated.
|
||
|
|
||
|
namespace Gst.RtspServer {
|
||
|
|
||
|
using System;
|
||
|
using System.Collections;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Runtime.InteropServices;
|
||
|
|
||
|
#region Autogenerated code
|
||
|
public partial class RTSPThreadPool : GLib.Object {
|
||
|
|
||
|
public RTSPThreadPool (IntPtr raw) : base(raw) {}
|
||
|
|
||
|
[DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
static extern IntPtr gst_rtsp_thread_pool_new();
|
||
|
|
||
|
public RTSPThreadPool () : base (IntPtr.Zero)
|
||
|
{
|
||
|
if (GetType () != typeof (RTSPThreadPool)) {
|
||
|
CreateNativeObject (new string [0], new GLib.Value[0]);
|
||
|
return;
|
||
|
}
|
||
|
Raw = gst_rtsp_thread_pool_new();
|
||
|
}
|
||
|
|
||
|
[DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
static extern int gst_rtsp_thread_pool_get_max_threads(IntPtr raw);
|
||
|
|
||
|
[DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
static extern void gst_rtsp_thread_pool_set_max_threads(IntPtr raw, int max_threads);
|
||
|
|
||
|
[GLib.Property ("max-threads")]
|
||
|
public int MaxThreads {
|
||
|
get {
|
||
|
int raw_ret = gst_rtsp_thread_pool_get_max_threads(Handle);
|
||
|
int ret = raw_ret;
|
||
|
return ret;
|
||
|
}
|
||
|
set {
|
||
|
gst_rtsp_thread_pool_set_max_threads(Handle, value);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static GetThreadNativeDelegate GetThread_cb_delegate;
|
||
|
static GetThreadNativeDelegate GetThreadVMCallback {
|
||
|
get {
|
||
|
if (GetThread_cb_delegate == null)
|
||
|
GetThread_cb_delegate = new GetThreadNativeDelegate (GetThread_cb);
|
||
|
return GetThread_cb_delegate;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void OverrideGetThread (GLib.GType gtype)
|
||
|
{
|
||
|
OverrideGetThread (gtype, GetThreadVMCallback);
|
||
|
}
|
||
|
|
||
|
static void OverrideGetThread (GLib.GType gtype, GetThreadNativeDelegate callback)
|
||
|
{
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("get_thread"));
|
||
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
||
|
delegate IntPtr GetThreadNativeDelegate (IntPtr inst, int type, IntPtr ctx);
|
||
|
|
||
|
static IntPtr GetThread_cb (IntPtr inst, int type, IntPtr ctx)
|
||
|
{
|
||
|
try {
|
||
|
RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
|
||
|
Gst.RtspServer.RTSPThread __result;
|
||
|
__result = __obj.OnGetThread ((Gst.RtspServer.RTSPThreadType) type, Gst.RtspServer.RTSPContext.New (ctx));
|
||
|
return __result == null ? IntPtr.Zero : __result.OwnedCopy;
|
||
|
} catch (Exception e) {
|
||
|
GLib.ExceptionManager.RaiseUnhandledException (e, true);
|
||
|
// NOTREACHED: above call does not return.
|
||
|
throw e;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideGetThread")]
|
||
|
protected virtual Gst.RtspServer.RTSPThread OnGetThread (Gst.RtspServer.RTSPThreadType type, Gst.RtspServer.RTSPContext ctx)
|
||
|
{
|
||
|
return InternalGetThread (type, ctx);
|
||
|
}
|
||
|
|
||
|
private Gst.RtspServer.RTSPThread InternalGetThread (Gst.RtspServer.RTSPThreadType type, Gst.RtspServer.RTSPContext ctx)
|
||
|
{
|
||
|
GetThreadNativeDelegate unmanaged = null;
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("get_thread"));
|
||
|
unmanaged = (GetThreadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(GetThreadNativeDelegate));
|
||
|
}
|
||
|
if (unmanaged == null) return null;
|
||
|
|
||
|
IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
|
||
|
IntPtr __result = unmanaged (this.Handle, (int) type, native_ctx);
|
||
|
Marshal.FreeHGlobal (native_ctx);
|
||
|
return __result == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (__result, typeof (Gst.RtspServer.RTSPThread), true);
|
||
|
}
|
||
|
|
||
|
static ConfigureThreadNativeDelegate ConfigureThread_cb_delegate;
|
||
|
static ConfigureThreadNativeDelegate ConfigureThreadVMCallback {
|
||
|
get {
|
||
|
if (ConfigureThread_cb_delegate == null)
|
||
|
ConfigureThread_cb_delegate = new ConfigureThreadNativeDelegate (ConfigureThread_cb);
|
||
|
return ConfigureThread_cb_delegate;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void OverrideConfigureThread (GLib.GType gtype)
|
||
|
{
|
||
|
OverrideConfigureThread (gtype, ConfigureThreadVMCallback);
|
||
|
}
|
||
|
|
||
|
static void OverrideConfigureThread (GLib.GType gtype, ConfigureThreadNativeDelegate callback)
|
||
|
{
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_thread"));
|
||
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
||
|
delegate void ConfigureThreadNativeDelegate (IntPtr inst, IntPtr thread, IntPtr ctx);
|
||
|
|
||
|
static void ConfigureThread_cb (IntPtr inst, IntPtr thread, IntPtr ctx)
|
||
|
{
|
||
|
try {
|
||
|
RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
|
||
|
__obj.OnConfigureThread (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), false), Gst.RtspServer.RTSPContext.New (ctx));
|
||
|
} catch (Exception e) {
|
||
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideConfigureThread")]
|
||
|
protected virtual void OnConfigureThread (Gst.RtspServer.RTSPThread thread, Gst.RtspServer.RTSPContext ctx)
|
||
|
{
|
||
|
InternalConfigureThread (thread, ctx);
|
||
|
}
|
||
|
|
||
|
private void InternalConfigureThread (Gst.RtspServer.RTSPThread thread, Gst.RtspServer.RTSPContext ctx)
|
||
|
{
|
||
|
ConfigureThreadNativeDelegate unmanaged = null;
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("configure_thread"));
|
||
|
unmanaged = (ConfigureThreadNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ConfigureThreadNativeDelegate));
|
||
|
}
|
||
|
if (unmanaged == null) return;
|
||
|
|
||
|
IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
|
||
|
unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.Handle, native_ctx);
|
||
|
Marshal.FreeHGlobal (native_ctx);
|
||
|
}
|
||
|
|
||
|
static ThreadEnterNativeDelegate ThreadEnter_cb_delegate;
|
||
|
static ThreadEnterNativeDelegate ThreadEnterVMCallback {
|
||
|
get {
|
||
|
if (ThreadEnter_cb_delegate == null)
|
||
|
ThreadEnter_cb_delegate = new ThreadEnterNativeDelegate (ThreadEnter_cb);
|
||
|
return ThreadEnter_cb_delegate;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void OverrideThreadEnter (GLib.GType gtype)
|
||
|
{
|
||
|
OverrideThreadEnter (gtype, ThreadEnterVMCallback);
|
||
|
}
|
||
|
|
||
|
static void OverrideThreadEnter (GLib.GType gtype, ThreadEnterNativeDelegate callback)
|
||
|
{
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_enter"));
|
||
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
||
|
delegate void ThreadEnterNativeDelegate (IntPtr inst, IntPtr thread);
|
||
|
|
||
|
static void ThreadEnter_cb (IntPtr inst, IntPtr thread)
|
||
|
{
|
||
|
try {
|
||
|
RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
|
||
|
__obj.OnThreadEnter (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), false));
|
||
|
} catch (Exception e) {
|
||
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideThreadEnter")]
|
||
|
protected virtual void OnThreadEnter (Gst.RtspServer.RTSPThread thread)
|
||
|
{
|
||
|
InternalThreadEnter (thread);
|
||
|
}
|
||
|
|
||
|
private void InternalThreadEnter (Gst.RtspServer.RTSPThread thread)
|
||
|
{
|
||
|
ThreadEnterNativeDelegate unmanaged = null;
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_enter"));
|
||
|
unmanaged = (ThreadEnterNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ThreadEnterNativeDelegate));
|
||
|
}
|
||
|
if (unmanaged == null) return;
|
||
|
|
||
|
unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.Handle);
|
||
|
}
|
||
|
|
||
|
static ThreadLeaveNativeDelegate ThreadLeave_cb_delegate;
|
||
|
static ThreadLeaveNativeDelegate ThreadLeaveVMCallback {
|
||
|
get {
|
||
|
if (ThreadLeave_cb_delegate == null)
|
||
|
ThreadLeave_cb_delegate = new ThreadLeaveNativeDelegate (ThreadLeave_cb);
|
||
|
return ThreadLeave_cb_delegate;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
static void OverrideThreadLeave (GLib.GType gtype)
|
||
|
{
|
||
|
OverrideThreadLeave (gtype, ThreadLeaveVMCallback);
|
||
|
}
|
||
|
|
||
|
static void OverrideThreadLeave (GLib.GType gtype, ThreadLeaveNativeDelegate callback)
|
||
|
{
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_leave"));
|
||
|
*raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[UnmanagedFunctionPointer (CallingConvention.Cdecl)]
|
||
|
delegate void ThreadLeaveNativeDelegate (IntPtr inst, IntPtr thread);
|
||
|
|
||
|
static void ThreadLeave_cb (IntPtr inst, IntPtr thread)
|
||
|
{
|
||
|
try {
|
||
|
RTSPThreadPool __obj = GLib.Object.GetObject (inst, false) as RTSPThreadPool;
|
||
|
__obj.OnThreadLeave (thread == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (thread, typeof (Gst.RtspServer.RTSPThread), false));
|
||
|
} catch (Exception e) {
|
||
|
GLib.ExceptionManager.RaiseUnhandledException (e, false);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPThreadPool), ConnectionMethod="OverrideThreadLeave")]
|
||
|
protected virtual void OnThreadLeave (Gst.RtspServer.RTSPThread thread)
|
||
|
{
|
||
|
InternalThreadLeave (thread);
|
||
|
}
|
||
|
|
||
|
private void InternalThreadLeave (Gst.RtspServer.RTSPThread thread)
|
||
|
{
|
||
|
ThreadLeaveNativeDelegate unmanaged = null;
|
||
|
unsafe {
|
||
|
IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("thread_leave"));
|
||
|
unmanaged = (ThreadLeaveNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ThreadLeaveNativeDelegate));
|
||
|
}
|
||
|
if (unmanaged == null) return;
|
||
|
|
||
|
unmanaged (this.Handle, thread == null ? IntPtr.Zero : thread.Handle);
|
||
|
}
|
||
|
|
||
|
|
||
|
// 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<GLib.AbiField>{
|
||
|
new GLib.AbiField("pool"
|
||
|
, GLib.Object.class_abi.Fields
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // pool
|
||
|
, null
|
||
|
, "get_thread"
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
||
|
, 0
|
||
|
),
|
||
|
new GLib.AbiField("get_thread"
|
||
|
, -1
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // get_thread
|
||
|
, "pool"
|
||
|
, "configure_thread"
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
||
|
, 0
|
||
|
),
|
||
|
new GLib.AbiField("configure_thread"
|
||
|
, -1
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // configure_thread
|
||
|
, "get_thread"
|
||
|
, "thread_enter"
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
||
|
, 0
|
||
|
),
|
||
|
new GLib.AbiField("thread_enter"
|
||
|
, -1
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // thread_enter
|
||
|
, "configure_thread"
|
||
|
, "thread_leave"
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
||
|
, 0
|
||
|
),
|
||
|
new GLib.AbiField("thread_leave"
|
||
|
, -1
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // thread_leave
|
||
|
, "thread_enter"
|
||
|
, "_gst_reserved"
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
||
|
, 0
|
||
|
),
|
||
|
new GLib.AbiField("_gst_reserved"
|
||
|
, -1
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved
|
||
|
, "thread_leave"
|
||
|
, null
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr))
|
||
|
, 0
|
||
|
),
|
||
|
});
|
||
|
|
||
|
return _class_abi;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
// End of the ABI representation.
|
||
|
|
||
|
[DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
static extern IntPtr gst_rtsp_thread_pool_get_type();
|
||
|
|
||
|
public static new GLib.GType GType {
|
||
|
get {
|
||
|
IntPtr raw_ret = gst_rtsp_thread_pool_get_type();
|
||
|
GLib.GType ret = new GLib.GType(raw_ret);
|
||
|
return ret;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
[DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
static extern void gst_rtsp_thread_pool_cleanup();
|
||
|
|
||
|
public static void Cleanup() {
|
||
|
gst_rtsp_thread_pool_cleanup();
|
||
|
}
|
||
|
|
||
|
[DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)]
|
||
|
static extern IntPtr gst_rtsp_thread_pool_get_thread(IntPtr raw, int type, IntPtr ctx);
|
||
|
|
||
|
public Gst.RtspServer.RTSPThread GetThread(Gst.RtspServer.RTSPThreadType type, Gst.RtspServer.RTSPContext ctx) {
|
||
|
IntPtr native_ctx = GLib.Marshaller.StructureToPtrAlloc (ctx);
|
||
|
IntPtr raw_ret = gst_rtsp_thread_pool_get_thread(Handle, (int) type, native_ctx);
|
||
|
Gst.RtspServer.RTSPThread ret = raw_ret == IntPtr.Zero ? null : (Gst.RtspServer.RTSPThread) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.RtspServer.RTSPThread), true);
|
||
|
Marshal.FreeHGlobal (native_ctx);
|
||
|
return ret;
|
||
|
}
|
||
|
|
||
|
|
||
|
static RTSPThreadPool ()
|
||
|
{
|
||
|
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<GLib.AbiField>{
|
||
|
new GLib.AbiField("priv"
|
||
|
, GLib.Object.abi_info.Fields
|
||
|
, (uint) Marshal.SizeOf(typeof(IntPtr)) // priv
|
||
|
, null
|
||
|
, "_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;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
// End of the ABI representation.
|
||
|
|
||
|
#endregion
|
||
|
}
|
||
|
}
|