// 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 RTSPSessionPool : GLib.Object { public RTSPSessionPool (IntPtr raw) : base(raw) {} [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_rtsp_session_pool_new(); public RTSPSessionPool () : base (IntPtr.Zero) { if (GetType () != typeof (RTSPSessionPool)) { CreateNativeObject (new string [0], new GLib.Value[0]); return; } Raw = gst_rtsp_session_pool_new(); } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern uint gst_rtsp_session_pool_get_max_sessions(IntPtr raw); [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_rtsp_session_pool_set_max_sessions(IntPtr raw, uint max); [GLib.Property ("max-sessions")] public uint MaxSessions { get { uint raw_ret = gst_rtsp_session_pool_get_max_sessions(Handle); uint ret = raw_ret; return ret; } set { gst_rtsp_session_pool_set_max_sessions(Handle, value); } } [GLib.Signal("session-removed")] public event Gst.RtspServer.SessionRemovedHandler SessionRemoved { add { this.AddSignalHandler ("session-removed", value, typeof (Gst.RtspServer.SessionRemovedArgs)); } remove { this.RemoveSignalHandler ("session-removed", value); } } static CreateSessionIdNativeDelegate CreateSessionId_cb_delegate; static CreateSessionIdNativeDelegate CreateSessionIdVMCallback { get { if (CreateSessionId_cb_delegate == null) CreateSessionId_cb_delegate = new CreateSessionIdNativeDelegate (CreateSessionId_cb); return CreateSessionId_cb_delegate; } } static void OverrideCreateSessionId (GLib.GType gtype) { OverrideCreateSessionId (gtype, CreateSessionIdVMCallback); } static void OverrideCreateSessionId (GLib.GType gtype, CreateSessionIdNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("create_session_id")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate IntPtr CreateSessionIdNativeDelegate (IntPtr inst); static IntPtr CreateSessionId_cb (IntPtr inst) { try { RTSPSessionPool __obj = GLib.Object.GetObject (inst, false) as RTSPSessionPool; string __result; __result = __obj.OnCreateSessionId (); return GLib.Marshaller.StringToPtrGStrdup(__result); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. throw e; } } [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPSessionPool), ConnectionMethod="OverrideCreateSessionId")] protected virtual string OnCreateSessionId () { return InternalCreateSessionId (); } private string InternalCreateSessionId () { CreateSessionIdNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("create_session_id")); unmanaged = (CreateSessionIdNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CreateSessionIdNativeDelegate)); } if (unmanaged == null) return null; IntPtr __result = unmanaged (this.Handle); return GLib.Marshaller.PtrToStringGFree(__result); } static SessionRemovedNativeDelegate SessionRemoved_cb_delegate; static SessionRemovedNativeDelegate SessionRemovedVMCallback { get { if (SessionRemoved_cb_delegate == null) SessionRemoved_cb_delegate = new SessionRemovedNativeDelegate (SessionRemoved_cb); return SessionRemoved_cb_delegate; } } static void OverrideSessionRemoved (GLib.GType gtype) { OverrideSessionRemoved (gtype, SessionRemovedVMCallback); } static void OverrideSessionRemoved (GLib.GType gtype, SessionRemovedNativeDelegate callback) { unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("session_removed")); *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); } } [UnmanagedFunctionPointer (CallingConvention.Cdecl)] delegate void SessionRemovedNativeDelegate (IntPtr inst, IntPtr _object); static void SessionRemoved_cb (IntPtr inst, IntPtr _object) { try { RTSPSessionPool __obj = GLib.Object.GetObject (inst, false) as RTSPSessionPool; __obj.OnSessionRemoved (GLib.Object.GetObject(_object) as Gst.RtspServer.RTSPSession); } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, false); } } [GLib.DefaultSignalHandler(Type=typeof(Gst.RtspServer.RTSPSessionPool), ConnectionMethod="OverrideSessionRemoved")] protected virtual void OnSessionRemoved (Gst.RtspServer.RTSPSession _object) { InternalSessionRemoved (_object); } private void InternalSessionRemoved (Gst.RtspServer.RTSPSession _object) { SessionRemovedNativeDelegate unmanaged = null; unsafe { IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("session_removed")); unmanaged = (SessionRemovedNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SessionRemovedNativeDelegate)); } if (unmanaged == null) return; unmanaged (this.Handle, _object == null ? IntPtr.Zero : _object.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{ new GLib.AbiField("create_session_id" , GLib.Object.class_abi.Fields , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_session_id , null , "create_session" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("create_session" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // create_session , "create_session_id" , "session_removed" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("session_removed" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // session_removed , "create_session" , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) * 19 // _gst_reserved , "session_removed" , 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_session_pool_get_type(); public static new GLib.GType GType { get { IntPtr raw_ret = gst_rtsp_session_pool_get_type(); GLib.GType ret = new GLib.GType(raw_ret); return ret; } } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern uint gst_rtsp_session_pool_cleanup(IntPtr raw); public uint Cleanup() { uint raw_ret = gst_rtsp_session_pool_cleanup(Handle); uint ret = raw_ret; return ret; } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_rtsp_session_pool_create(IntPtr raw); public Gst.RtspServer.RTSPSession Create() { IntPtr raw_ret = gst_rtsp_session_pool_create(Handle); Gst.RtspServer.RTSPSession ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSession; return ret; } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_rtsp_session_pool_create_watch(IntPtr raw); public GLib.Source CreateWatch() { IntPtr raw_ret = gst_rtsp_session_pool_create_watch(Handle); GLib.Source ret = new GLib.Source(raw_ret); return ret; } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_rtsp_session_pool_filter(IntPtr raw, Gst.RtspServerSharp.RTSPSessionPoolFilterFuncNative func, IntPtr user_data); public Gst.RtspServer.RTSPSession[] Filter(Gst.RtspServer.RTSPSessionPoolFilterFunc func) { Gst.RtspServerSharp.RTSPSessionPoolFilterFuncWrapper func_wrapper = new Gst.RtspServerSharp.RTSPSessionPoolFilterFuncWrapper (func); IntPtr raw_ret = gst_rtsp_session_pool_filter(Handle, func_wrapper.NativeDelegate, IntPtr.Zero); Gst.RtspServer.RTSPSession[] ret = (Gst.RtspServer.RTSPSession[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.RtspServer.RTSPSession)); return ret; } public Gst.RtspServer.RTSPSession[] Filter() { return Filter (null); } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_rtsp_session_pool_find(IntPtr raw, IntPtr sessionid); public Gst.RtspServer.RTSPSession Find(string sessionid) { IntPtr native_sessionid = GLib.Marshaller.StringToPtrGStrdup (sessionid); IntPtr raw_ret = gst_rtsp_session_pool_find(Handle, native_sessionid); Gst.RtspServer.RTSPSession ret = GLib.Object.GetObject(raw_ret, true) as Gst.RtspServer.RTSPSession; GLib.Marshaller.Free (native_sessionid); return ret; } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern uint gst_rtsp_session_pool_get_n_sessions(IntPtr raw); public uint NSessions { get { uint raw_ret = gst_rtsp_session_pool_get_n_sessions(Handle); uint ret = raw_ret; return ret; } } [DllImport("gstrtspserver-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_rtsp_session_pool_remove(IntPtr raw, IntPtr sess); public bool Remove(Gst.RtspServer.RTSPSession sess) { bool raw_ret = gst_rtsp_session_pool_remove(Handle, sess == null ? IntPtr.Zero : sess.Handle); bool ret = raw_ret; return ret; } static RTSPSessionPool () { 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("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 } }